我今天玩Ruby profiler,在我的搜索结果中发现了一些奇怪的东西。我们从docs中获取示例代码:
require 'profile'
def slow_method
5000.times do
9999999999999999*999999999
end
end
def fast_method
5000.times do
9999999999999999+999999999
end
end
slow_method
fast_method
方法调用的结果应如下所示:
0.00 0.19 0.00 1 0.00 100.00 Object#slow_method
0.00 0.19 0.00 1 0.00 90.00 Object#fast_method
但我的结果是:
35.00 0.15 0.07 5001 0.01 0.03 Object#fast_method
10.00 0.19 0.02 5001 0.00 0.03 Object#slow_method
它似乎不合适。这些方法被调用一次,而不是5001次。
顺便说一下。我正在使用 ruby 2.2.1p85(2015-02-26修订版49769)[x86_64-linux]