今天我google百度了一上午都没弄明白该怎么让gprof显示系统库调用时间 所有人都说用lc_p编译或者链接 可是在我的fedora11里提示找不到lc_p 我的/usr/lib/里面也没有libc_p.a库,这个是最让我闹心的也不知咋安装,我都服了,麻烦牛人给个办法 谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢 牛人不要手软阿 谢谢谢谢谢谢...
我写了一个小程序,试验一下gprof,但是发现结果和预期的不一样:
我的程序是:
#include
[code]#include
现在要分析一个程序的时间复杂度问题,主要采用了两种方法来分析,一是利用Linux下的gprof文件来分析,二是利用gettimeofday来测各个程序的运行时间,结果发现两者的差别很大,用gprof文件分析出来大概要用20多毫秒,但是利用gettimeofday测出来的时间却是80多毫秒,两者的差别有点太大了,请教各位高手,这是什么原因,我到底应该相信哪个?谢谢
我们知道可以使用,gprof工具来分析系统性能,但是在linux下面,多线程则不适用,多线程下,只能采集主线程性能数据。.原因是gprof采用ITIMER_PROF信号,在多线程内,只有主线程才能响应该信号。那么采用什么方法,才能够分析所有 线程呢? 关键是能够让各个线程响应ITIMER_PROF信号,下面是通过桩子函数来进行的,就是重写pthread_create函数。 //////////////////// gprof-helper.c//////////////////////////// #define _GNU_...
1. 我的程序是由主程序加若干动态链接库构成的,主程序和动态链接库的代码都是自己写的 2. 都加了-pg编译和链接 3. gprof 主程序 gmon.out , 只能看到主程序里面的调用情况 4. gprof 动态链接库 gmon.out,啥也看不到。。。 哪位达人知道这个问题如何解决?
wanjm@linux:~/MMS> gcc -pg *.c;time ./a.out; gprof a.out gmon.out -bp real 0m38.307s user 0m38.171s sys 0m0.092s Flat profile: Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls ns/call ns/call name 53.18 65.22 65.22 268435455 242.96 242.96 get_univar 33.71 106.56 41.34 2684354...