13 def foo0b; super();end
14 def foo1(a); super(a); end
15 def foo4(a,b,c,d); super(a,b,c,d); end
18 TIMES = (ARGV[0] || 5).to_i
19 Benchmark.bm(40) do |bm|
23 bm.report("control foo()") do
24 1_000_000.times { a.foo0 }
26 bm.report("control foo(1)") do
27 1_000_000.times { a.foo1(1) }
29 bm.report("control foo(1,2,3,4)") do
30 1_000_000.times { a.foo4(1,2,3,4) }
32 bm.report("super foo") do
33 1_000_000.times { b.foo0a }
35 bm.report("super foo()") do
36 1_000_000.times { b.foo0b }
38 bm.report("super foo(1)") do
39 1_000_000.times { b.foo1(1) }
41 bm.report("super foo(1,2,3,4)") do
42 1_000_000.times { b.foo4(1,2,3,4) }