多线程开启gprof性能测试的简易方法
来源:互联网 发布:mac桌面文件复制到u盘 编辑:程序博客网 时间:2024/06/05 03:38
用到gprof时才知道,原来gprof只能对主线程统计耗时。manual上也没写线程相关的问题啊?
不过有现成的解决方案:http://sam.zoy.org/writings/programming/gprof.html
该方案封装了pthread_create(), 让线程初始化执行一个setitimer(ITIMER_PROF, ...)。
简易的方法是直接在代码中写个setitimer()。
#include <sys/time.h>#include <boost/thread.hpp>struct itimerval g_itimer;void foo(){ setitimer(ITIMER_PROF, &g_itimer, NULL); for (int i = 0; i < 10000000; i++) (void)i;}int main(){ getitimer(ITIMER_PROF, &g_itimer); boost::thread t(&foo); t.join(); return 0;}
g++ main.cpp -pg -lboost_thread
./a.out
gprof
这样就能统计出foo()的耗时了。没有setitimer()就不会有foo()的耗时统计。
- 多线程开启gprof性能测试的简易方法
- gprof性能测试命令
- GraphicsMagick性能测试(二) - 开启多线程对性能的影响
- gprof : linux性能测试工具
- Linux性能测试:gprof篇
- 多线程的开启方法
- gprof的性能优化实践
- gprof性能测试工具使用分析
- 用gprof测试软件性能(zz)
- Linux性能测试工具:Oprofile, KFT, Gprof
- 【OI】gprof 性能测试工具 小结
- 性能测试的方法
- 性能测试的方法
- 性能评测工具 :gprof 的使用
- linux环境下 C++性能测试工具 gprof + kprof + gprof2dot
- linux环境下 C++性能测试工具 gprof 和gprof2dot
- linux环境下 C++性能测试工具 gprof + kprof + gprof2dot
- linux环境下 C++性能测试工具 gprof + kprof + gprof2dot
- c++ string中的replace
- 记ORA-01031: insufficient privileges一则
- svn解决冲突
- 第五节:C64+ DSP 部分术语翻译
- POJ2168结题报告【强连通分量】
- 多线程开启gprof性能测试的简易方法
- 【应用开发】网络编程
- eclipse 常用快捷键
- 进程管理(二)
- java 程序打开网页
- Linux下VsFTP配置全方案
- 久违的CSDN
- Ubuntu-10.04-AMD64常见问题
- HTML中CSS的常用属性设置