我需要对在Linux下运行的C++代码进行性能分析。你们能推荐一些性能分析工具吗?
我需要对在Linux下运行的C++代码进行性能分析。你们能推荐一些性能分析工具吗?
使用gprof。
只需使用-pg
标志进行编译(我认为(但不确定)您必须关闭优化),然后使用gprof分析可执行文件生成的gmon.out文件。
例如:
gcc -pg -o whatever whatever.c
./whatever
gprof whatever gmon.out
使用 g++ 和 cpp 也是同样的事情。
Valgrind 是一个着名的 Linux 分析工具。
我一直在使用来自RotateRight(http://www.rotateright.com)的Zoom。它具有函数的蝴蝶视图,您可以双击任何函数以深入源代码或汇编代码。请使用调试信息(-g)构建以查看您的源代码,但您仍应该构建和优化优化的代码。
-fno-omit-frame-pointer
才能有效地进行性能分析。 - Nik Reimangprof是用于性能分析的标准GNU工具。
prof
开始是有意义的:如果我发现f()
在统计上是最棘手的函数,我会多次停止程序,直到我最终进入f()
,而不是随机选择第一个停止的函数。 - Dmitry Grigoryev