File tree Expand file tree Collapse file tree 2 files changed +45
-0
lines changed Expand file tree Collapse file tree 2 files changed +45
-0
lines changed Original file line number Diff line number Diff line change @@ -116,6 +116,10 @@ getivar:
116116 desc : getivar tests the performance of getting instance variable values.
117117 category : micro
118118 single_file : true
119+ attr_accessor :
120+ desc : attr_accessor tests the performance of getting instance variable values via an attr_accessor imemo.
121+ category : micro
122+ single_file : true
119123keyword_args :
120124 desc : keyword_args tests the performance of method calls with keyword arguments.
121125 category : micro
Original file line number Diff line number Diff line change 1+ require_relative '../harness/loader'
2+
3+ class TheClass
4+ attr_accessor :levar
5+
6+ def initialize
7+ @v0 = 1
8+ @v1 = 2
9+ @v3 = 3
10+ @levar = 1
11+ end
12+
13+ def get_value_loop
14+ sum = 0
15+
16+ # 1M
17+ i = 0
18+ while i < 1000000
19+ # 10 times to de-emphasize loop overhead
20+ sum += levar
21+ sum += levar
22+ sum += levar
23+ sum += levar
24+ sum += levar
25+ sum += levar
26+ sum += levar
27+ sum += levar
28+ sum += levar
29+ sum += levar
30+ i += 1
31+ end
32+
33+ return sum
34+ end
35+ end
36+
37+ obj = TheClass . new
38+
39+ run_benchmark ( 850 ) do
40+ obj . get_value_loop
41+ end
You can’t perform that action at this time.
0 commit comments