aboutsummaryrefslogtreecommitdiffstats
path: root/benchmark/vm1_gc_wb_obj_promoted.yml
blob: 56abca0c3c982eeb4db3cbc64054763848791c61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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