[前][次][番号順一覧][スレッド一覧]

ruby-changes:51681

From: k0kubun <ko1@a...>
Date: Mon, 9 Jul 2018 01:28:42 +0900 (JST)
Subject: [ruby-changes:51681] k0kubun:r63893 (trunk): benchmark/vm1_*.yml: abstract away the while loop

k0kubun	2018-07-09 01:28:34 +0900 (Mon, 09 Jul 2018)

  New Revision: 63893

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=63893

  Log:
    benchmark/vm1_*.yml: abstract away the while loop
    
    benchmark/driver.rb had removed the cost for while loop in benchmark/bm_vm1_*.rb,
    and benchmark_driver.gem can achieve the same thing with `loop_count`.
    
    But unfortunately current benchmark_driver.gem can't solve it only for vm1_yield.yml...

  Modified files:
    trunk/benchmark/driver.rb
    trunk/benchmark/vm1_attr_ivar.yml
    trunk/benchmark/vm1_attr_ivar_set.yml
    trunk/benchmark/vm1_block.yml
    trunk/benchmark/vm1_blockparam.yml
    trunk/benchmark/vm1_blockparam_call.yml
    trunk/benchmark/vm1_blockparam_pass.yml
    trunk/benchmark/vm1_blockparam_yield.yml
    trunk/benchmark/vm1_const.yml
    trunk/benchmark/vm1_ensure.yml
    trunk/benchmark/vm1_float_simple.yml
    trunk/benchmark/vm1_gc_short_lived.yml
    trunk/benchmark/vm1_gc_short_with_complex_long.yml
    trunk/benchmark/vm1_gc_short_with_long.yml
    trunk/benchmark/vm1_gc_short_with_symbol.yml
    trunk/benchmark/vm1_gc_wb_ary.yml
    trunk/benchmark/vm1_gc_wb_ary_promoted.yml
    trunk/benchmark/vm1_gc_wb_obj.yml
    trunk/benchmark/vm1_gc_wb_obj_promoted.yml
    trunk/benchmark/vm1_ivar.yml
    trunk/benchmark/vm1_ivar_set.yml
    trunk/benchmark/vm1_length.yml
    trunk/benchmark/vm1_lvar_init.yml
    trunk/benchmark/vm1_lvar_set.yml
    trunk/benchmark/vm1_neq.yml
    trunk/benchmark/vm1_not.yml
    trunk/benchmark/vm1_rescue.yml
    trunk/benchmark/vm1_simplereturn.yml
    trunk/benchmark/vm1_swap.yml
    trunk/benchmark/vm1_yield.yml
Index: benchmark/vm1_ensure.yml
===================================================================
--- benchmark/vm1_ensure.yml	(revision 63892)
+++ benchmark/vm1_ensure.yml	(revision 63893)
@@ -1,13 +1,9 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_ensure.yml#L1
 benchmark:
   vm1_ensure: |
-    i = 0
-    while i<30_000_000 # benchmark loop 1
-      i += 1
+    begin
       begin
-        begin
-        ensure
-        end
       ensure
       end
+    ensure
     end
-loop_count: 1
+loop_count: 30000000
Index: benchmark/vm1_const.yml
===================================================================
--- benchmark/vm1_const.yml	(revision 63892)
+++ benchmark/vm1_const.yml	(revision 63893)
@@ -1,11 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_const.yml#L1
+prelude: 'Const = 1
+
+'
 benchmark:
   vm1_const: |
-    Const = 1
-
-    i = 0
-    while i<30_000_000 # while loop 1
-      i += 1
-      j = Const
-      k = Const
-    end
-loop_count: 1
+    j = Const
+    k = Const
+loop_count: 30000000
Index: benchmark/vm1_lvar_set.yml
===================================================================
--- benchmark/vm1_lvar_set.yml	(revision 63892)
+++ benchmark/vm1_lvar_set.yml	(revision 63893)
@@ -1,8 +1,6 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_lvar_set.yml#L1
 benchmark:
-  vm1_lvar_set: |
-    i = 0
-    while i<30_000_000 # while loop 1
-      i += 1
-      a = b = c = d = e = f = g = h = j = k = l = m = n = o = p = q = r = 1
-    end
-loop_count: 1
+  vm1_lvar_set: 'a = b = c = d = e = f = g = h = j = k = l = m = n = o = p = q = r
+    = 1
+
+'
+loop_count: 30000000
Index: benchmark/vm1_gc_short_with_symbol.yml
===================================================================
--- benchmark/vm1_gc_short_with_symbol.yml	(revision 63892)
+++ benchmark/vm1_gc_short_with_symbol.yml	(revision 63893)
@@ -1,19 +1,13 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_gc_short_with_symbol.yml#L1
 prelude: |
-  # make many symbols
+  50_000.times{|i| sym = "sym#{i}".to_sym}
+  GC.start
+  GC.start
 benchmark:
   vm1_gc_short_with_symbol: |
-    50_000.times{|i| sym = "sym#{i}".to_sym}
-    GC.start
-    GC.start
-
-    i = 0
-    while i<30_000_000 # while loop 1
-      a = '' # short-lived String
-      b = ''
-      c = ''
-      d = ''
-      e = ''
-      f = ''
-      i+=1
-    end
-loop_count: 1
+    a = '' # short-lived String
+    b = ''
+    c = ''
+    d = ''
+    e = ''
+    f = ''
+loop_count: 30000000
Index: benchmark/vm1_blockparam_pass.yml
===================================================================
--- benchmark/vm1_blockparam_pass.yml	(revision 63892)
+++ benchmark/vm1_blockparam_pass.yml	(revision 63893)
@@ -1,16 +1,13 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_blockparam_pass.yml#L1
-benchmark:
-  vm1_blockparam_pass: |
-    def bp_yield
-      yield
-    end
+prelude: |
+  def bp_yield
+    yield
+  end
 
-    def bp_pass &b
-      bp_yield &b
-    end
+  def bp_pass &b
+    bp_yield &b
+  end
+benchmark:
+  vm1_blockparam_pass: 'bp_pass{}
 
-    i = 0
-    while i<30_000_000 # while loop 1
-      i += 1
-      bp_pass{}
-    end
-loop_count: 1
+'
+loop_count: 30000000
Index: benchmark/vm1_blockparam_yield.yml
===================================================================
--- benchmark/vm1_blockparam_yield.yml	(revision 63892)
+++ benchmark/vm1_blockparam_yield.yml	(revision 63893)
@@ -1,12 +1,9 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_blockparam_yield.yml#L1
+prelude: |
+  def bp_yield &b
+    yield
+  end
 benchmark:
-  vm1_blockparam_yield: |
-    def bp_yield &b
-      yield
-    end
+  vm1_blockparam_yield: 'bp_yield{}
 
-    i = 0
-    while i<30_000_000 # while loop 1
-      i += 1
-      bp_yield{}
-    end
-loop_count: 1
+'
+loop_count: 30000000
Index: benchmark/vm1_blockparam.yml
===================================================================
--- benchmark/vm1_blockparam.yml	(revision 63892)
+++ benchmark/vm1_blockparam.yml	(revision 63893)
@@ -1,11 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_blockparam.yml#L1
+prelude: |
+  def m &b
+  end
 benchmark:
-  vm1_blockparam: |
-    def m &b
-    end
+  vm1_blockparam: 'm{}
 
-    i = 0
-    while i<30_000_000 # while loop 1
-      i += 1
-      m{}
-    end
-loop_count: 1
+'
+loop_count: 30000000
Index: benchmark/vm1_float_simple.yml
===================================================================
--- benchmark/vm1_float_simple.yml	(revision 63892)
+++ benchmark/vm1_float_simple.yml	(revision 63893)
@@ -1,10 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_float_simple.yml#L1
+prelude: |
+  f = 0.0
 benchmark:
   vm1_float_simple: |
-    i = 0.0; f = 0.0
-    while i<30_000_000
-      i += 1
-      f += 0.1; f -= 0.1
-      f += 0.1; f -= 0.1
-      f += 0.1; f -= 0.1
-    end
-loop_count: 1
+    f += 0.1; f -= 0.1
+    f += 0.1; f -= 0.1
+    f += 0.1; f -= 0.1
+loop_count: 30000000
Index: benchmark/vm1_neq.yml
===================================================================
--- benchmark/vm1_neq.yml	(revision 63892)
+++ benchmark/vm1_neq.yml	(revision 63893)
@@ -1,11 +1,7 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_neq.yml#L1
+prelude: |
+  obj1 = Object.new
+  obj2 = Object.new
 benchmark:
   vm1_neq: |
-    i = 0
-    obj1 = Object.new
-    obj2 = Object.new
-
-    while i<30_000_000 # while loop 1
-      i += 1
-      obj1 != obj2
-    end
-loop_count: 1
+    obj1 != obj2
+loop_count: 30000000
Index: benchmark/vm1_simplereturn.yml
===================================================================
--- benchmark/vm1_simplereturn.yml	(revision 63892)
+++ benchmark/vm1_simplereturn.yml	(revision 63893)
@@ -1,11 +1,9 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_simplereturn.yml#L1
+prelude: |
+  def m
+    return 1
+  end
 benchmark:
-  vm1_simplereturn: |
-    def m
-      return 1
-    end
-    i = 0
-    while i<30_000_000 # while loop 1
-      i += 1
-      m
-    end
-loop_count: 1
+  vm1_simplereturn: 'm
+
+'
+loop_count: 30000000
Index: benchmark/vm1_gc_short_lived.yml
===================================================================
--- benchmark/vm1_gc_short_lived.yml	(revision 63892)
+++ benchmark/vm1_gc_short_lived.yml	(revision 63893)
@@ -1,13 +1,9 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_gc_short_lived.yml#L1
 benchmark:
   vm1_gc_short_lived: |
-    i = 0
-    while i<30_000_000 # while loop 1
-      a = '' # short-lived String
-      b = ''
-      c = ''
-      d = ''
-      e = ''
-      f = ''
-      i+=1
-    end
-loop_count: 1
+    a = '' # short-lived String
+    b = ''
+    c = ''
+    d = ''
+    e = ''
+    f = ''
+loop_count: 30000000
Index: benchmark/vm1_swap.yml
===================================================================
--- benchmark/vm1_swap.yml	(revision 63892)
+++ benchmark/vm1_swap.yml	(revision 63893)
@@ -1,10 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_swap.yml#L1
+prelude: |
+  a = 1
+  b = 2
 benchmark:
-  vm1_swap: |
-    a = 1
-    b = 2
-    i = 0
-    while i<30_000_000 # while loop 1
-      i += 1
-      a, b = b, a
-    end
-loop_count: 1
+  vm1_swap: 'a, b = b, a
+
+'
+loop_count: 30000000
Index: benchmark/vm1_gc_short_with_long.yml
===================================================================
--- benchmark/vm1_gc_short_with_long.yml	(revision 63892)
+++ benchmark/vm1_gc_short_with_long.yml	(revision 63893)
@@ -1,16 +1,13 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_gc_short_with_long.yml#L1
+prelude: |
+  long_lived = Array.new(1_000_000){|i| "#{i}"}
+  GC.start
+  GC.start
 benchmark:
   vm1_gc_short_with_long: |
-    long_lived = Array.new(1_000_000){|i| "#{i}"}
-    GC.start
-    GC.start
-    i = 0
-    while i<30_000_000 # while loop 1
-      a = '' # short-lived String
-      b = ''
-      c = ''
-      d = ''
-      e = ''
-      f = ''
-      i+=1
-    end
-loop_count: 1
+    a = '' # short-lived String
+    b = ''
+    c = ''
+    d = ''
+    e = ''
+    f = ''
+loop_count: 30000000
Index: benchmark/vm1_attr_ivar.yml
===================================================================
--- benchmark/vm1_attr_ivar.yml	(revision 63892)
+++ benchmark/vm1_attr_ivar.yml	(revision 63893)
@@ -1,17 +1,14 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_attr_ivar.yml#L1
+prelude: |
+  class C
+    attr_reader :a, :b
+    def initialize
+      @a = nil
+      @b = nil
+    end
+  end
+  obj = C.new
 benchmark:
   vm1_attr_ivar: |
-    class C
-      attr_reader :a, :b
-      def initialize
-        @a = nil
-        @b = nil
-      end
-    end
-    obj = C.new
-    i = 0
-    while i<30_000_000 # while loop 1
-      i += 1
-      j = obj.a
-      k = obj.b
-    end
-loop_count: 1
+    j = obj.a
+    k = obj.b
+loop_count: 30000000
Index: benchmark/vm1_gc_short_with_complex_long.yml
===================================================================
--- benchmark/vm1_gc_short_with_complex_long.yml	(revision 63892)
+++ benchmark/vm1_gc_short_with_complex_long.yml	(revision 63893)
@@ -1,29 +1,25 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_gc_short_with_complex_long.yml#L1
-benchmark:
-  vm1_gc_short_with_complex_long: |
-    def nested_hash h, n
-      if n == 0
-        ''
-      else
-        10.times{
-          h[Object.new] = nested_hash(h, n-1)
-        }
-      end
+prelude: |
+  def nested_hash h, n
+    if n == 0
+      ''
+    else
+      10.times{
+        h[Object.new] = nested_hash(h, n-1)
+      }
     end
+  end
 
-    long_lived = Hash.new
-    nested_hash long_lived, 6
-
-    GC.start
-    GC.start
+  long_lived = Hash.new
+  nested_hash long_lived, 6
 
-    i = 0
-    while i<30_000_000 # while loop 1
-      a = '' # short-lived String
-      b = ''
-      c = ''
-      d = ''
-      e = ''
-      f = ''
-      i+=1
-    end
-loop_count: 1
+  GC.start
+  GC.start
+benchmark:
+  vm1_gc_short_with_complex_long: |
+    a = '' # short-lived String
+    b = ''
+    c = ''
+    d = ''
+    e = ''
+    f = ''
+loop_count: 30000000
Index: benchmark/vm1_gc_wb_obj_promoted.yml
===================================================================
--- benchmark/vm1_gc_wb_obj_promoted.yml	(revision 63892)
+++ benchmark/vm1_gc_wb_obj_promoted.yml	(revision 63893)
@@ -1,20 +1,17 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_gc_wb_obj_promoted.yml#L1
-benchmark:
-  vm1_gc_wb_obj_promoted: |
-    class C
-      attr_accessor :foo
-    end
-    long_lived = C.new
+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
+  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
+  short_lived = ''
+benchmark:
+  vm1_gc_wb_obj_promoted: |
+    long_lived.foo = short_lived # write barrier
+loop_count: 30000000
Index: benchmark/vm1_block.yml
===================================================================
--- benchmark/vm1_block.yml	(revision 63892)
+++ benchmark/vm1_block.yml	(revision 63893)
@@ -1,13 +1,9 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_block.yml#L1
+prelude: |
+  def m
+    yield
+  end
 benchmark:
   vm1_block: |
-    def m
-      yield
-    end
-
-    i = 0
-    while i<30_000_000 # while loop 1
-      i += 1
-      m{
-      }
-    end
-loop_count: 1
+    m{
+    }
+loop_count: 30000000
Index: benchmark/vm1_attr_ivar_set.yml
===================================================================
--- benchmark/vm1_attr_ivar_set.yml	(revision 63892)
+++ benchmark/vm1_attr_ivar_set.yml	(revision 63893)
@@ -1,17 +1,14 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_attr_ivar_set.yml#L1
+prelude: |
+  class C
+    attr_accessor :a, :b
+    def initialize
+      @a = nil
+      @b = nil
+    end
+  end
+  obj = C.new
 benchmark:
   vm1_attr_ivar_set: |
-    class C
-      attr_accessor :a, :b
-      def initialize
-        @a = nil
-        @b = nil
-      end
-    end
-    obj = C.new
-    i = 0
-    while i<30_000_000 # while loop 1
-      i += 1
-      obj.a = 1
-      obj.b = 2
-    end
-loop_count: 1
+    obj.a = 1
+    obj.b = 2
+loop_count: 30000000
Index: benchmark/vm1_yield.yml
===================================================================
--- benchmark/vm1_yield.yml	(revision 63892)
+++ benchmark/vm1_yield.yml	(revision 63893)
@@ -1,8 +1,9 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_yield.yml#L1
+# while loop cost is not removed due to benchmark_driver.gem's limitation
 benchmark:
   vm1_yield: |
     def m
       i = 0
-      while i<30_000_000 # while loop 1
+      while i<30_000_000
         i += 1
         yield
       end
Index: benchmark/driver.rb
===================================================================
--- benchmark/driver.rb	(revision 63892)
+++ benchmark/driver.rb	(revision 63893)
@@ -73,15 +73,13 @@ loop_count: 1 https://github.com/ruby/ruby/blob/trunk/benchmark/driver.rb#L73
       next if @pattern && /#{@pattern}/ !~ File.basename(file)
       next if @exclude && /#{@exclude}/ =~ File.basename(file)
       case file
-      when /bm_(vm[12])_/, /bm_loop_(whileloop2?).rb/
+      when /bm_(vm2)_/, /bm_loop_(whileloop2).rb/
         flag[$1] = true
       end
       file
     }.compact
 
-    if flag['vm1'] && !flag['whileloop']
-      files << File.join(@dir, 'bm_loop_whileloop.rb')
-    elsif flag['vm2'] && !flag['whileloop2']
+    if flag['vm2'] && !flag['whileloop2']
       files << File.join(@dir, 'bm_loop_whileloop2.rb')
     end
 
Index: benchmark/vm1_length.yml
===================================================================
--- benchmark/vm1_length.yml	(revision 63892)
+++ benchmark/vm1_length.yml	(revision 63893)
@@ -1,11 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_length.yml#L1
+prelude: |
+  a = 'abc'
+  b = [1, 2, 3]
 benchmark:
   vm1_length: |
-    a = 'abc'
-    b = [1, 2, 3]
-    i = 0
-    while i<30_000_000 # while loop 1
-      i += 1
-      a.length
-      b.length
-    end
-loop_count: 1
+    a.length
+    b.length
+loop_count: 30000000
Index: benchmark/vm1_gc_wb_ary_promoted.yml
===================================================================
--- benchmark/vm1_gc_wb_ary_promoted.yml	(revision 63892)
+++ benchmark/vm1_gc_wb_ary_promoted.yml	(revision 63893)
@@ -1,17 +1,15 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_gc_wb_ary_promoted.yml#L1
-benchmark:
-  vm1_gc_wb_ary_promoted: |
-    long_lived = []
+prelude: |
+  long_lived = []
+
+  if RUBY_VERSION > "2.2.0"
+    3.times{ GC.start(full_mark: false, immediate_mark: true, immediate_sweep: true) }
+  elsif
+    GC.start
+  end
 
-    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 = ''
 
-    i = 0
-    short_lived = ''
-    while i<30_000_000 # while loop 1
-      long_lived[0] = short_lived # write barrier
-      i+=1
-    end
-loop_count: 1
+benchmark:
+  vm1_gc_wb_ary_promoted: |
+    long_lived[0] = short_lived # write barrier
+loop_count: 30000000
Index: benchmark/vm1_ivar.yml
===================================================================
--- benchmark/vm1_ivar.yml	(revision 63892)
+++ benchmark/vm1_ivar.yml	(revision 63893)
@@ -1,11 +1,6 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_ivar.yml#L1
+prelude: "@a = 1\n"
 benchmark:
   vm1_ivar: |
-    @a = 1
-
-    i = 0
-    while i<30_000_000 # while loop 1
-      i += 1
-      j = @a
-      k = @a
-    end
-loop_count: 1
+    j = @a
+    k = @a
+loop_count: 30000000
Index: benchmark/vm1_blockparam_call.yml
===================================================================
--- benchmark/vm1_blockparam_call.yml	(revision 63892)
+++ benchmark/vm1_blockparam_call.yml	(revision 63893)
@@ -1,12 +1,9 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_blockparam_call.yml#L1
+prelude: |
+  def m &b
+    b.call
+  end
 benchmark:
-  vm1_blockparam_call: |
-    def m &b
-      b.call
-    end
+  vm1_blockparam_call: 'm{}
 
-    i = 0
-    while i<30_000_000 # while loop 1
-      i += 1
-      m{}
-    end
-loop_count: 1
+'
+loop_count: 30000000
Index: benchmark/vm1_gc_wb_obj.yml
===================================================================
--- benchmark/vm1_gc_wb_obj.yml	(revision 63892)
+++ benchmark/vm1_gc_wb_obj.yml	(revision 63893)
@@ -1,18 +1,15 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_gc_wb_obj.yml#L1
-benchmark:
-  vm1_gc_wb_obj: |
-    class C
-      attr_accessor :foo
-    end
-    short_lived_obj = C.new
+prelude: |
+  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
+  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
+  short_lived = ''
+benchmark:
+  vm1_gc_wb_obj: |
+    short_lived_obj.foo = short_lived # write barrier
+loop_count: 30000000
Index: benchmark/vm1_rescue.yml
===================================================================
--- benchmark/vm1_rescue.yml	(revision 63892)
+++ benchmark/vm1_rescue.yml	(revision 63893)
@@ -1,10 +1,6 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_rescue.yml#L1
 benchmark:
   vm1_rescue: |
-    i = 0
-    while i<30_000_000 # while loop 1
-      i += 1
-      begin
-      rescue
-      end
+    begin
+    rescue
     end
-loop_count: 1
+loop_count: 30000000
Index: benchmark/vm1_lvar_init.yml
===================================================================
--- benchmark/vm1_lvar_init.yml	(revision 63892)
+++ benchmark/vm1_lvar_init.yml	(revision 63893)
@@ -1,20 +1,16 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_lvar_init.yml#L1
-benchmark:
-  vm1_lvar_init: |
-    def m v
-      unless v
-        # unreachable code
-        v1 = v2 = v3 = v4 = v5 = v6 = v7 = v8 = v9 = v10 =
-        v11 = v12 = v13 = v14 = v15 = v16 = v17 = v18 = v19 = v20 =
-        v21 = v22 = v23 = v24 = v25 = v26 = v27 = v28 = v29 = v30 =
-        v31 = v32 = v33 = v34 = v35 = v36 = v37 = v38 = v39 = v40 =
-        v41 = v42 = v43 = v44 = v45 = v46 = v47 = v48 = v49 = v50 = 1
-      end
+prelude: |
+  def m v
+    unless v
+      # unreachable code
+      v1 = v2 = v3 = v4 = v5 = v6 = v7 = v8 = v9 = v10 =
+      v11 = v12 = v13 = v14 = v15 = v16 = v17 = v18 = v19 = v20 =
+      v21 = v22 = v23 = v24 = v25 = v26 = v27 = v28 = v29 = v30 =
+      v31 = v32 = v33 = v34 = v35 = v36 = v37 = v38 = v39 = v40 =
+      v41 = v42 = v43 = v44 = v45 = v46 = v47 = v48 = v49 = v50 = 1
     end
+  end
+benchmark:
+  vm1_lvar_init: 'm i
 
-    i = 0
-
-    while i<30_000_000 # while loop 1
-      i += 1
-      m i
-    end
-loop_count: 1
+'
+loop_count: 30000000
Index: benchmark/vm1_gc_wb_ary.yml
===================================================================
--- benchmark/vm1_gc_wb_ary.yml	(revision 63892)
+++ benchmark/vm1_gc_wb_ary.yml	(revision 63893)
@@ -1,15 +1,12 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm1_gc_wb_ary.yml#L1
-benchmark:
-  vm1_gc_wb_ary: |
-    short_lived_ary = []
+prelude: |
+  short_lived_ary = []
 
-    if RUBY_VERSION >= "2.2.0"
-      GC.start(full_mark: false, immediate_mark: true, immediate_sweep: true)
-    end
+  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
-      shor (... truncated)

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]