标签: c profiling gprof
我第一次使用gprof来分析C程序。我使用生成的报告中显示以下行;
$ gprof test_gprof gmon.out > analysis.txt
在Flat Profile中
每个样本计为0.01秒。
这是时间上的最大分辨率吗?
在通话图中:
粒度:每个样本命中覆盖4个字节,占0.13的7.69% 秒
这里有4个字节到底是什么?什么时候谈论?
答案 0 :(得分:0)
请阅读本manual的第5.1和5.2节。您还可以使用以下命令阅读CentOS上的本手册:
$ info gprof
在Flat Profile中,
表示采样周期为100Hz,不受gprof本身控制(有关详细信息,请查看此page和此one)。因此,0.01 seconds理论上不是时间上的最大分辨率。
0.01 seconds
对于Call图,根据Oracle的doc,
" 4字节"意味着解决单个指令。 " 0.07%的14.74秒"表示代表10毫秒CPU时间的每个样本占运行的0.07%。