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¶
user system total real 1.550000 0.000000 1.550000 ( 1.555161) After¶
user system total real 1.400000 0.000000 1.400000 ( 1.398825) macOS 10.12 + gcc 6.3.0_1¶
Before¶
user system total real 1.660000 0.000000 1.660000 ( 1.659721) After¶
user system total real 1.450000 0.000000 1.450000 ( 1.454589) Ubuntu 16.04 + gcc 5.4.0¶
Before¶
user system total real 0.890000 0.000000 0.890000 ( 0.891217) After¶
user system total real 0.790000 0.000000 0.790000 ( 0.783157) 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 8 years ago
- Description updated (diff)
Updated by watson1978 (Shizuo Fujita) over 8 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) over 6 years ago
- Tracker changed from Bug to Feature
- Backport deleted (
2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN)
Actions