ActionsLike0
Feature #8576
open
Add 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
Updated by ko1 (Koichi Sasada) over 11 years ago
- Category set to core
- Target version set to 2.1.0
Updated by ko1 (Koichi Sasada) over 11 years ago
- Target version changed from 2.1.0 to 2.6
ActionsLike0