Actions
Feature #8576
openAdd optimized method type for constant value methods
Description
I've written a patch adding a new method type (VM_METHOD_TYPE_CONSTVAL) for methods that only return a constant value. The patch significantly improves the performance of calls to these types of methods.
I've written a small benchmark script:
require "benchmark"
def foo
1234
end
puts Benchmark.measure {
1_000_000.times do
foo; foo; foo; foo; foo
foo; foo; foo; foo; foo
end
}
Before patch:
$ ./rb x.rb
0.620000 0.000000 0.620000 ( 0.625130)
After patch:
$ ./rb x.rb
0.300000 0.000000 0.300000 ( 0.296528)
The patch is here: https://github.com/charliesome/ruby/compare/constant-value-methods
Actions
Like0
Like0Like0Like0Like0Like0Like0Like0Like0