gpt4 book ai didi

linux - gcc优化级别之间有什么区别?

转载 作者:IT王子 更新时间:2023-10-29 00:15:21 24 4
gpt4 key购买 nike

GCC 中不同优化级别的区别是什么?假设我不关心有任何调试 Hook ,为什么我不使用我可用的最高级别的优化呢?更高级别的优化是否一定(即可证明)生成更快的程序?

最佳答案

是的,更高的级别有时意味着更好的程序性能。但是,它可能会导致问题,具体取决于您的代码。例如,分支预测(在 -O1 及更高版本中启用)可以通过引起竞争条件来破坏编写不佳的多线程程序。优化实际上会决定一些比你写的更好的东西,这在某些情况下可能行不通。

有时,更高的优化 (-O3) 没有增加合理的好处,而是增加了很多额外的大小。您自己的测试可以确定这种大小权衡是否为您的系统带来了合理的性能提升。

作为最后的说明,GNU 项目在 -O2 by default 编译了他们所有的程序。 ,并且 -O2 在其他地方相当普遍。

关于linux - gcc优化级别之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/90203/

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