前面介绍过用
gprof和
Valgrind之Callgrind来分析程序性能,但是文本格式的输出报告,对于小估摸程序而言可能已经够了,但是对于大估摸程序而言,就显得
有点不尽人意了,如果能够实现分析结果可视化,那将会比较惬意。
实际上,用python和dot就能达到可视化的要求。dot是graphviz提供的一个命令工具,其安装非常简单:
#yum install graphviz
此外,还需要下载脚本以将文本格式的性能数据报告转换为图形化的函数调用时间图。
点击上面连接下载gprof2dot.py脚本后,需要改变其为可执行权限,并将该脚本添加到$PATH路径中的任意目录下(比如:/usr/bin),以便于直接在终端下执行gprof2dot.py:
#cp gprof2dot.py /usr/bin
#cd /usr/bin
#chmod +x gprof2dot.py
所有步骤都妥当后,就可以开始转换了:
#python gprof2dot.py log.txt | dot -Tsvg -o log.svg
其中,log.txt为前文中gprof或者Valgrind-Callgrind输出的文本报告,log.svg就是图形化结果:
很帅吧
。
当然还有更快捷的方式来生成图形结果:
#gprof ./test | gprof2dot.py | dot -Tsvg -o log.svg
或者
#gprof2dot.py -f callgrind callgrind.out.xxx |dot -Tsvg -o log.svg
阅读(4646) | 评论(1) | 转发(1) |