gpt4 book ai didi

optimization - 现代优化编译器如何确定何时优化?

转载 作者:行者123 更新时间:2023-12-03 15:48:44 25 4
gpt4 key购买 nike

现代优化编译器如何确定何时应用某些优化,例如循环展开和代码内联?

由于这两者都会影响缓存,因此使用少于 X 行的天真内联函数或任何其他简单的启发式方法可能会生成性能较差的代码。那么,现代编译器如何处理这个问题呢?

我很难找到这方面的信息(尤其是相当容易理解的信息..),我能找到的最好的信息是 wikipedia article .任何细节,书籍/文章/论文的链接都非常感谢!

编辑:由于答案主要是关于我提到的两个优化(内联和循环展开),我只是想澄清一下,我对所有和任何编译器优化感兴趣,而不仅仅是这两个。我也对可以在提前编译期间执行的优化更感兴趣,尽管 JIT 优化也很有趣(尽管程度稍低)。

谢谢!

最佳答案

通常还是那么天真,并希望这是一种改进。

这就是为什么即时编译是一个如此成功的策略。收集统计信息,然后针对常见情况进行优化。

引用:

  • http://lambda-the-ultimate.org/node/768
  • GCC 支持 Profile Guided Optimization
  • 当然还有 Sun 热点 JVM
  • 关于optimization - 现代优化编译器如何确定何时优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1742688/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com