summaryrefslogtreecommitdiff
path: root/benchmark/vm1_gc_wb_obj.yml
diff options
context:
space:
mode:
authork0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-07-08 16:28:34 +0000
committerk0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-07-08 16:28:34 +0000
commit820ad9cb1d72d0897b73dae282df3793814b27e8 (patch)
tree24b454ee3370b772d5bd248398e1a8fa8dd4f328 /benchmark/vm1_gc_wb_obj.yml
parent9e62c93d0d7433faf7b2976fe89d5c708271823c (diff)
benchmark/vm1_*.yml: abstract away the while loop
benchmark/driver.rb had removed the cost for while loop in benchmark/bm_vm1_*.rb, and benchmark_driver.gem can achieve the same thing with `loop_count`. But unfortunately current benchmark_driver.gem can't solve it only for vm1_yield.yml... git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'benchmark/vm1_gc_wb_obj.yml')
-rw-r--r--benchmark/vm1_gc_wb_obj.yml29
1 files changed, 13 insertions, 16 deletions
diff --git a/benchmark/vm1_gc_wb_obj.yml b/benchmark/vm1_gc_wb_obj.yml
index 0adcd84ee3..9dc08e7e1a 100644
--- a/benchmark/vm1_gc_wb_obj.yml
+++ b/benchmark/vm1_gc_wb_obj.yml
@@ -1,18 +1,15 @@
-benchmark:
- vm1_gc_wb_obj: |
- class C
- attr_accessor :foo
- end
- short_lived_obj = C.new
+prelude: |
+ class C
+ attr_accessor :foo
+ end
+ short_lived_obj = C.new
- if RUBY_VERSION >= "2.2.0"
- GC.start(full_mark: false, immediate_mark: true, immediate_sweep: true)
- end
+ if RUBY_VERSION >= "2.2.0"
+ GC.start(full_mark: false, immediate_mark: true, immediate_sweep: true)
+ end
- i = 0
- short_lived = ''
- while i<30_000_000 # while loop 1
- short_lived_obj.foo = short_lived # write barrier
- i+=1
- end
-loop_count: 1
+ short_lived = ''
+benchmark:
+ vm1_gc_wb_obj: |
+ short_lived_obj.foo = short_lived # write barrier
+loop_count: 30000000