解释gprof结果和粒度

时间:2014-01-04 11:58:43

标签: c profiling gprof

我第一次使用gprof来分析C程序。我使用生成的报告中显示以下行;

 $  gprof test_gprof gmon.out > analysis.txt

在Flat Profile中

  

每个样本计为0.01秒。

这是时间上的最大分辨率吗?

在通话图中:

  

粒度:每个样本命中覆盖4个字节,占0.13的7.69%   秒

这里有4个字节到底是什么?什么时候谈论?

1 个答案:

答案 0 :(得分:0)

请阅读本manual的第5.1和5.2节。您还可以使用以下命令阅读CentOS上的本手册:

$ info gprof

在Flat Profile中,

  

每个样本计为0.01秒。

表示采样周期为100Hz,不受gprof本身控制(有关详细信息,请查看此page和此one)。因此,0.01 seconds理论上不是时间上的最大分辨率。

对于Call图,根据Oracle的doc

  

" 4字节"意味着解决单个指令。 " 0.07%的14.74秒"表示代表10毫秒CPU时间的每个样本占运行的0.07%。