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

    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