valgrind callgrind 使用
来源:互联网 发布:高性能mysql 第3版 编辑:程序博客网 时间:2024/06/06 18:39
最近在linux环境下分析程序的性能,主要应用profile工具集。网上网罗了一些资料,按部就班的进行了一些实验,也得出了一些结果。
其中,用到了valgrind中的memcheck、callgrind。实验了linux自带的gprof 与oprof。最终通过使用callgrind与gprof2dot结合使用,得出程序的调用次数与函数占比等关系图。
以下分享下具体的步骤:
1)首先是环境及工具准备。安装valgrind,下载gprof2dot.py 脚本 ,下载安装graphviz
2)启动运行callgrind。 valgrind --tool=callgrind ./test
3)运行完成后会当前目录下生成callgrind.out.***的文件
4)运行gprof2dot.py -f callgrind callgrind.out.****|dot -Tpng -o report.png 在当前目录下生成report.png
report.png 就是我们希望得到的结果。
下面写了个测试例子:
int b(void) { int i=0,g=0; while(i++<400000) {// c(); g+=i; } return g;}int main(int argc, char** argv){ int iterations; if(argc != 2) { printf("Usage %s <No of Iterations>\n", argv[0]); return 0; } else iterations = atoi(argv[1]); printf("No of iterations = %d\n", iterations); while(iterations--) { a(); b(); }}
每个方框内部显示函数名称,函数整体包括内部子函数占用时间%比,函数自身,不包括内部子函数占用时间%比,函数执行次数。边表示父函数调用该子函数占用的时间%比,调用次数。从图中可以看出函数占用时间开销,调用次数等开发者。
- valgrind callgrind 使用
- valgrind&&callgrind
- centos下valgrind之callgrind使用
- valgrind -callgrind 实例
- valgrind callgrind性能分析
- 使用valgrind的callgrind工具进行多线程性能分析
- 使用valgrind的callgrind工具进行多线程性能分析
- callgrind 使用
- Valgrind callgrind profile 多线程程序 命令
- valgrind之callgrind工具进行多线程性能分析
- 性能分析工具使用-callgrind+kcachegrind
- 性能分析工具使用 callgrind+kcachegrind
- Valgrind使用
- valgrind 使用
- Valgrind 使用
- 使用Valgrind
- valgrind 使用
- Valgrind使用
- Action View layout
- VC LoadLibrary出错,error =126
- QSS使用setStyleSheet需要注意一个部件一个setStyleSheet
- 111
- ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist
- valgrind callgrind 使用
- SAP替代物料操作详解
- 将 Discuz X3 手机版默认的“标准版”改为“触屏版”
- 学好Python必读的几篇文章
- 加载动态链接库的方法
- Linux&VMware&vBox&虚拟化技术资料汇总
- [oralce] 利用CRT的端口转发功能直接用plsql访问数据库
- 在Linux上配置Apache HTTPS服务
- Android之自动化压力测试工具:Monkey的使用