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 short_lived = '' benchmark: vm1_gc_wb_obj_promoted: | long_lived.foo = short_lived # write barrier loop_count: 30000000