Actions
Feature #13482
openImprove performance of "set instance variable"
Feature #13482:
Improve performance of "set instance variable"
Status:
Open
Assignee:
-
Target version:
-
Description
"set instance variable" will be faster around 14%.
macOS 10.12 + clang-802.0.41¶
Before¶
After¶
macOS 10.12 + gcc 6.3.0_1¶
Before¶
After¶
Ubuntu 16.04 + gcc 5.4.0¶
Before¶
After¶
Test code¶
require 'benchmark'
Benchmark.bmbm do |x|
x.report do
i = 0
while (i < 50000000)
@obj = 42
i+=1
end
end
end
Patch¶
Updated by watson1978 (Shizuo Fujita) over 9 years ago
- Description updated (diff)
Updated by watson1978 (Shizuo Fujita) over 9 years ago
It has already ensured inlining in where vm_getivar()
(https://github.com/ruby/ruby/blob/524fb0138b773f2ed01441abbcffeda0271175c5/vm_insnhelper.c#L908)
So,I'm guessing that there is no reason what avoid inlining at vm_setivar()
Updated by jeremyevans0 (Jeremy Evans) about 7 years ago
- Tracker changed from Bug to Feature
- Backport deleted (
2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN)
Actions