valgrind
valgrind 是 c++ 程序的一个性能分析工具
优点:无需侵入代码
安装 valgrind
CentOS:
yum install valgrind
qcachegrind
qcachegrind 用来图形化,显示性能点
下载安装包: https://sourceforge.net/projects/qcachegrindwin/
使用
类似以下命令:
valgrind --tool=callgrind --separate-threads=yes <命令>
说明:
- –tool=callgrind 表示测试性能
- –separate-threads=yes 表示按线程统计
测试程序退出时,会生成类似如下文件:
.
├── callgrind.out.22349
├── callgrind.out.5810
├── callgrind.out.5810-01
├── callgrind.out.5810-02
├── callgrind.out.5810-03
├── callgrind.out.5810-04
├── callgrind.out.5810-05
文件 | 说明 |
---|---|
callgrind.out.22349 | 不带 --separate-threads=yes 参数,生成 1 个结果文件 |
callgrind.out.5810* | 带 --separate-threads=yes 参数,生成 1 系列结果文件 |
图形化展示
使用 qcachegrind 程序,点击打开
按钮,选择结果文件,会有类似界面:
其他
valgrind 还可以查看内存泄漏,类似以下命令:
valgrind --leak-check=full --log-file=test_valgrind.log --num-callers=30 <命令>