![](/img/trans.png)
[英]-O3 in ICC messes up intrinsics, fine with -O1 or -O2 or with corresponding manual assembly
[英]Callgrind on O1 or O3 for performance profiling?
我需要分析我的C ++代码,而valgrind --tool=callgrind
是一个valgrind --tool=callgrind
的工具。 但是,我想知道是否应该使用-g -pg -O1
或-g -pg -O3
(GCC 4.4.7)对代码进行性能分析? 后者更准确地描述了我的程序的性能,但是我担心-O3
会混淆分析器并混淆哪些源函数是实际的瓶颈。 也许我只是害怕老太太的故事,但我认为在进行可能要花费数小时的测试之前,我应该先确认一下。
另一个stackoverflow中的该线程可能使您头脑清醒: 进行性能分析时的优化标志
问题不是通过优化进行性能分析,而是通过优化(-g -pg)进行调试。
正如quantdev所说,您应该“始终使用与用于创建生产二进制文件的选项相同的选项”,并且您将继续使用调试信息创建一个生产二进制文件。
如果线程不足,请告诉我们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.