C/C++性能分析工具gprof

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C/C++性能分析工具gprof相关的知识,希望对你有一定的参考价值。

转载自:

linux环境下 C++性能测试工具 gprof + kprof + gprof2dot

添加-pg编译选项:

gcc/g++ -g -pg file.c[c]

运行a.out 以 生成gmon.out

./a.out 

生成中间分析文件

gprof ./a.out > prof.log

常用参数 -b brief的缩写 简要输出

gprof -b ./a.out > prof.log

-q 打印函数调用关系

gprof -q ./a.out > prof.log

-p print a flat profile

gprof -p ./a.out > prof.log

 

https://github.com/jrfonseca/

生成程序流程图

gprof ./test | gprof2dot.py | xdot

gprof -b ./test gmon.out | gprof2doc > a.dot

gprof2dot默认是部分函数调用图,对性能影响不大的函数调用都不显示,例如上图中没有出现类的构造,析构函数,

 如果想要显示全部的函数调用,可以 gprof2dot -n0 -e0 ,默认是n0.5即影响小于5%的函数就不显示了。

当然这样图片会很乱,因为显示内容很多,可以 gprof2dot -n0 -e0 -s #-s表示不显示诸如模板,函数入口参数等等,使得

函数名称显示更加精简。

以上是关于C/C++性能分析工具gprof的主要内容,如果未能解决你的问题,请参考以下文章

性能测试工具GNU gprof

Linux c++ 性能分析工具gprof

[转]程序进行性能分析工具gprof使用入门

用于字符设备驱动程序的 GProf 性能工具

与教授进行绩效测量

Linux性能评测工具之一:gprof篇