1

如果我跑

ruby-prof -p graph -s self aggregate.rb > graph.txt

我的 graph.txt 的前几行看起来像:

Total Time: 40.092432

  %total   %self     total      self      wait     child            calls   Name
--------------------------------------------------------------------------------
                      5.16      5.16      0.00      0.00      98304/98304     Object#totalDurationFromFile
 100.00% 100.00%      5.16      5.16      0.00      0.00            98304     IO#read
--------------------------------------------------------------------------------
                      4.91      4.91      0.00      0.00      98304/98304     <Class::IO>#new
  95.17%  95.17%      4.91      4.91      0.00      0.00            98304     File#initialize
--------------------------------------------------------------------------------
                      0.37      0.19      0.00      0.17      32768/32769     Hash#each
                     28.89      4.67      0.00     24.22          1/32769     Object#readFiles
 566.81%  94.24%     29.26      4.86      0.00     24.39            32769     Array#collect
                     14.71      1.98      0.00     12.73      98304/98304     Object#totalDurationFromFile
                      9.11      0.64      0.00      8.48     98304/131072     Class#new
                      0.39      0.39      0.00      0.00     98304/196609     <Class::File>#basename
                      0.00      0.17      0.00      0.00    98304/1202331     Object#main
--------------------------------------------------------------------------------
                      3.76      3.35      0.00      0.42    524288/524288     Module#class_eval
  72.94%  64.85%      3.76      3.35      0.00      0.42           524288     Module#define_method
                      0.42      0.42      0.00      0.00    524288/524288     BasicObject#singleton_method_added

我认为这不是我的脚本aggregate.rb 所特有的。因此,为了简洁起见,我将源代码排除在外。

问题是:为什么 %total 列中的百分比高于 100%?图形打印机不允许自行排序吗?这是一个错误还是我忽略了一些东西。非常感谢帮助。

谢谢!

4

1 回答 1

0

您是否检查过 Github 上的更改是否解决了问题?显然,gem 版本已过时和/或不包含该更改(因为它也会将小数位数增加到三位)。

于 2013-09-20T22:40:26.280 回答