Actions
Bug #13426
closedImprove performance of implicit type conversion using #to_r
    Bug #13426:
    Improve performance of implicit type conversion using #to_r
  
Description
This patch will improve performance in implicit type conversion using #to_r
At least, Integer#quo will be faster around 40%.
And, this will improve some Time methods which calling quov() internally.
Before¶
                   user     system      total        real
Integer#quo    2.030000   0.010000   2.040000 (  2.031988)
Time#subsec    2.410000   0.000000   2.410000 (  2.412172)
After¶
                  user     system      total        real
Integer#quo   1.460000   0.000000   1.460000 (  1.463345)
Time#subsec   2.050000   0.010000   2.060000 (  2.056003)
Test code¶
require 'benchmark'
Benchmark.bmbm do |x|
  x.report "Integer#quo" do
    5000000.times do
      42.quo(3)
    end
  end
  x.report "Time#subsec" do
    t = Time.now
    4000000.times do
      t.subsec
    end
  end
end
Patch¶
Actions