diff options
author | k0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-07-08 16:28:34 +0000 |
---|---|---|
committer | k0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-07-08 16:28:34 +0000 |
commit | 820ad9cb1d72d0897b73dae282df3793814b27e8 (patch) | |
tree | 24b454ee3370b772d5bd248398e1a8fa8dd4f328 /benchmark/vm1_gc_wb_obj_promoted.yml | |
parent | 9e62c93d0d7433faf7b2976fe89d5c708271823c (diff) | |
download | ruby-820ad9cb1d72d0897b73dae282df3793814b27e8.tar.gz |
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_promoted.yml')
-rw-r--r-- | benchmark/vm1_gc_wb_obj_promoted.yml | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/benchmark/vm1_gc_wb_obj_promoted.yml b/benchmark/vm1_gc_wb_obj_promoted.yml index 56abca0c3c..26859d2a52 100644 --- a/benchmark/vm1_gc_wb_obj_promoted.yml +++ b/benchmark/vm1_gc_wb_obj_promoted.yml @@ -1,20 +1,17 @@ -benchmark: - vm1_gc_wb_obj_promoted: | - class C - attr_accessor :foo - end - long_lived = C.new +prelude: | + class C + attr_accessor :foo + end + long_lived = C.new - if RUBY_VERSION >= "2.2.0" - 3.times{ GC.start(full_mark: false, immediate_mark: true, immediate_sweep: true) } - elsif - GC.start - end + if RUBY_VERSION >= "2.2.0" + 3.times{ GC.start(full_mark: false, immediate_mark: true, immediate_sweep: true) } + elsif + GC.start + end - i = 0 - short_lived = '' - while i<30_000_000 # while loop 1 - long_lived.foo = short_lived # write barrier - i+=1 - end -loop_count: 1 + short_lived = '' +benchmark: + vm1_gc_wb_obj_promoted: | + long_lived.foo = short_lived # write barrier +loop_count: 30000000 |