summaryrefslogtreecommitdiff
path: root/benchmark/vm1_gc_wb_obj_promoted.yml
diff options
context:
space:
mode:
authork0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-07-08 15:12:24 +0000
committerk0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-07-08 15:12:24 +0000
commit95a187e0404cc161b3d5690d48ea4ff2a40ceb91 (patch)
tree05fecceef1b49122d9b219ab49a7bb1aa2e3f33c /benchmark/vm1_gc_wb_obj_promoted.yml
parent62e956383890ac268037f2d5544207d7aa6bcc55 (diff)
benchmark: convert bm_vm1_*.rb to vm1_*.yml
This YAML transformation is needed to support whileloop time substituion by benchmark_driver.gem later. This commmit changes no benchmark behavior. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'benchmark/vm1_gc_wb_obj_promoted.yml')
-rw-r--r--benchmark/vm1_gc_wb_obj_promoted.yml20
1 files changed, 20 insertions, 0 deletions
diff --git a/benchmark/vm1_gc_wb_obj_promoted.yml b/benchmark/vm1_gc_wb_obj_promoted.yml
new file mode 100644
index 0000000000..56abca0c3c
--- /dev/null
+++ b/benchmark/vm1_gc_wb_obj_promoted.yml
@@ -0,0 +1,20 @@
+benchmark:
+ vm1_gc_wb_obj_promoted: |
+ 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
+
+ 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