Project

General

Profile

Feature #13482

Updated by watson1978 (Shizuo Fujita) over 7 years ago

"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 
 https://github.com/ruby/ruby/pull/1590

Back