Project

General

Profile

Bug #12274

Updated by nobu (Nobuyoshi Nakada) over 8 years ago

 
 Currently, accessing to instance variable is quite slower than accessing to local variable. 
 I think accessing to instance variable is basic operation and it should be fast, so tried to improve. 

 patch: https://github.com/tarui/ruby/commit/dd993da80c7ad84340689137bf8b308793595cae 

 On mame's optcarrot benchmark, (https://github.com/mame/optcarrot/) 
 it is 10%(!) faster than trunk. 
 It increases in the maintenance cost a little, but can I commit it? 

 ``` 
 $ ./ruby -v --disable-gems ../../optcarrot/bin/optcarrot --benchmark ../../optcarrot/examples/Lan_Master.nes 
 ruby 2.4.0dev (2016-04-12 trunk 54553) [x86_64-linux] 
 fps: 13.664029283085743 
 checksum: 59662 

 $ ./ruby -v --disable-gems ../../optcarrot/bin/optcarrot --benchmark ../../optcarrot/examples/Lan_Master.nes 
 ruby 2.4.0dev (2016-04-12 fast-ivar-access 54553) [x86_64-linux] 
 fps: 15.120651593726231 
 checksum: 59662

Back