GNU gprof 和 graphviz 调优程序

GUN gprof 是一款分析程序运行的工具,可以提供程序调用关系,函数运行次数以及函数运行时间,为程序员最大限度的优化自己的程序提供帮助。记得在《可视化函数调用》中提到了可视化工具graphviz,结合gprof 和graphviz,并利用gprof2dot 可以可视化以上以上信息。

几个工具使用起来都非常方便。使用gprof 只需要在运行参数前加 -g 即可。然后

./test

运行可执行程序,将生成gmon.out 的日志文件(这是程序员也看不懂的二进制文件),使用下面命令

gprof ./test gmon.out >report.txt

生成report.txt 表。

想使用gprof2dot 可视化这个报表就更简单了,在gprof2dot 官网 下载gprof2dot.py 执行(确保你安装了python 和graphviz):

gprof ./test | gprof2dot.py | dot -Tpng -o output.png

怎么样! 是不是生成了一个output.png 的图片,打开看看吧!

下面是几个output.png 的示例:

output (2)

 

output (11)

 

参考资料

[1]  GNU gprof  http://www.cs.utah.edu/dept/old/texinfo/as/gprof_toc.html

[2]  gprof2dot 源码 http://code.google.com/p/jrfonseca/wiki/Gprof2Dot

[3]  不错的blog http://blog.dccmx.com/2011/01/gprof/

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据