问题描述
|
我使用的是使用ѭ0编译的软件包。
由于对
代码的某些
函数调用是我程序中最慢的部分,所以我想知道ѭ1可能是罪魁祸首吗?还是在运行时方面无关紧要?
解决方法
由于-O3表示积极的内联,而-g表示避免内联,以便调试器可以具有函数地址,因此这些选项有些矛盾。尽管如此,总的来说-O3会获胜,除了更大的二进制文件-以及可能因页面调度或非本地性而产生的较小速度影响-不会产生太大影响。
,
-g
将使您的代码更大(增加了调试符号的空间),并且将禁用某些优化(例如内联),但可能不会明显慢一些。
,如果您真正的问题是“为什么这么慢?”
有一个简单的方法可以找出答案。