diff options
Diffstat (limited to 'benchmark/bm_vm1_gc_wb_obj_promoted.rb')
-rw-r--r-- | benchmark/bm_vm1_gc_wb_obj_promoted.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/benchmark/bm_vm1_gc_wb_obj_promoted.rb b/benchmark/bm_vm1_gc_wb_obj_promoted.rb new file mode 100644 index 0000000000..7967e83726 --- /dev/null +++ b/benchmark/bm_vm1_gc_wb_obj_promoted.rb @@ -0,0 +1,17 @@ +class C + attr_accessor :foo +end +long_lived = C.new + +if RUBY_VERSION > "2.2.0" + 3.times{ GC.start(immediate_mark: false, lazy_sweep: false) } +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 |