~/projects/jruby ➔ (pickjdk 4 ; jruby -e "def foo; yield 1; end; require 'benchmark'; 10.times { puts Benchmark.measure { 1_000_000.times {foo {|a|}} } }")
New JDK: 1.6.0
0.475000 0.000000 0.475000 ( 0.435000)
0.242000 0.000000 0.242000 ( 0.243000)
0.317000 0.000000 0.317000 ( 0.317000)
0.235000 0.000000 0.235000 ( 0.235000)
0.231000 0.000000 0.231000 ( 0.231000)
0.235000 0.000000 0.235000 ( 0.235000)
0.230000 0.000000 0.230000 ( 0.230000)
0.230000 0.000000 0.230000 ( 0.231000)
0.228000 0.000000 0.228000 ( 0.229000)
0.227000 0.000000 0.227000 ( 0.227000)
~/projects/jruby ➔ (pickjdk 4 ; jruby -e "def foo; yield 1,2; end; require 'benchmark'; 10.times { puts Benchmark.measure { 1_000_000.times {foo {|a,b|}} } }")
New JDK: 1.6.0
0.872000 0.000000 0.872000 ( 0.830000)
0.415000 0.000000 0.415000 ( 0.415000)
0.420000 0.000000 0.420000 ( 0.420000)
0.410000 0.000000 0.410000 ( 0.410000)
0.411000 0.000000 0.411000 ( 0.412000)
0.411000 0.000000 0.411000 ( 0.411000)
0.418000 0.000000 0.418000 ( 0.418000)
0.442000 0.000000 0.442000 ( 0.442000)
0.429000 0.000000 0.429000 ( 0.428000)
0.421000 0.000000 0.421000 ( 0.421000)
~/projects/jruby ➔ (pickjdk 4 ; jruby -e "def foo; yield 1; end; require 'benchmark'; 10.times { puts Benchmark.measure { p = proc {|a|}; 1_000_000.times {foo &p} } }")
New JDK: 1.6.0
0.275000 0.000000 0.275000 ( 0.233000)
0.162000 0.000000 0.162000 ( 0.162000)
0.119000 0.000000 0.119000 ( 0.119000)
0.123000 0.000000 0.123000 ( 0.123000)
0.117000 0.000000 0.117000 ( 0.117000)
0.118000 0.000000 0.118000 ( 0.118000)
0.117000 0.000000 0.117000 ( 0.117000)
0.120000 0.000000 0.120000 ( 0.120000)
0.118000 0.000000 0.118000 ( 0.118000)
0.117000 0.000000 0.117000 ( 0.117000)
~/projects/jruby ➔ (pickjdk 4 ; jruby -e "def foo; yield 1,2; end; require 'benchmark'; 10.times { puts Benchmark.measure { p = proc {|a,b|}; 1_000_000.times {foo &p} } }")
New JDK: 1.6.0
0.461000 0.000000 0.461000 ( 0.413000)
0.171000 0.000000 0.171000 ( 0.172000)
0.174000 0.000000 0.174000 ( 0.174000)
0.158000 0.000000 0.158000 ( 0.158000)
0.154000 0.000000 0.154000 ( 0.154000)
0.154000 0.000000 0.154000 ( 0.154000)
0.158000 0.000000 0.158000 ( 0.158000)
0.153000 0.000000 0.153000 ( 0.154000)
0.155000 0.000000 0.155000 ( 0.156000)
0.158000 0.000000 0.158000 ( 0.158000)