一、环境安装
1.安装valgrind工具
https://blog.csdn.net/qq_44872284/article/details/133775643
2.安装gprof2dot工具
sudo pip install gprof2dot
3.安装dot工具(Graphviz软件包,其中包含dot工具)
sudo apt-get install graphviz
二、分析性能瓶颈
1.编译自己的项目(在编译时要添加-g产生调试信息)
2.运行需要进行分析的项目,生成callgrind.out.pid文件(你也可以运行单元测试之类的可执行程序,callgrind是valgrind用来进行函数调用次数分析的插件,还可以通过–separate-threads=yes来把每个线程调用关系分开显示(生成多个数据文件,每个文件中表示的是一个thread的数据))
valgrind --tool=callgrind ./your_program
3.利用gprof2dot把生成的分析数据转换为dot格式(-n表示只显示调用次数大于等于指定值(百分比值)的函数,-e表示只显示执行时间大于等于指定值(百分比值)的函数,用于过滤掉一些不需要的函数调用信息。–root=root_function 可以指定生成的dot数据是以root_function为根节点的函数调用图形数据)
gprof2dot -f callgrind -n10 -e10 callgrind.out.pid > callgrind.dot
4.利用dot工具把分析数据转换为图片(PNG格式)
dot -Tpng callgrind.dot -o callgrind.png