速度測定3

injectを使用する/しない

n = 500000
Benchmark.bm do |x|
  ary = Array.new(n){1}

  x.report{
    num = 0

    ary.each do |i|
      num += i
    end
  }

  x.report{
    ary.inject(0){|result, item|result += item}
  }
end
      user     system      total        real
  0.940000   0.240000   1.180000 (  1.187306)
  2.000000   0.430000   2.430000 (  2.452427)


injectの方が倍くらい遅い。



書いていて気づいたんだけど、こういうメソッドとかの速度って
YARV採用の1.9?(2.0?)になったら、全然違う結果に成るんだろうか?
それとも全体的な速度は早くなるが、個々のメソッド毎の動作速度差は変化しない?