Skip to content

Instantly share code, notes, and snippets.

@okkez
Created April 17, 2010 16:07
Show Gist options
  • Save okkez/369644 to your computer and use it in GitHub Desktop.
Save okkez/369644 to your computer and use it in GitHub Desktop.
return benchmark
ruby 1.8.0 (2003-08-04) [x86_64-linux]
Rehearsal ---------------------------------------------
return 0.416667 0.000000 0.416667 ( 0.254624)
no return 0.316667 0.000000 0.316667 ( 0.185749)
return 0.433333 0.000000 0.433333 ( 0.264098)
no return 0.383333 0.000000 0.383333 ( 0.224070)
------------------------------------ total: 1.550000sec
user system total real
return 0.366667 0.000000 0.366667 ( 0.226396)
no return 0.300000 0.000000 0.300000 ( 0.182145)
return 0.466667 0.000000 0.466667 ( 0.283566)
no return 0.416667 0.000000 0.416667 ( 0.246451)
ruby 1.8.1 (2003-12-25) [x86_64-linux]
Rehearsal ---------------------------------------------
return 0.700000 0.450000 1.150000 ( 0.681183)
no return 0.466667 0.250000 0.716667 ( 0.431986)
return 0.833333 0.333333 1.166667 ( 0.704546)
no return 0.666667 0.150000 0.816667 ( 0.478855)
------------------------------------ total: 3.850000sec
user system total real
return 0.733333 0.333333 1.066667 ( 0.647232)
no return 0.450000 0.283333 0.733333 ( 0.437970)
return 0.866667 0.300000 1.166667 ( 0.699186)
no return 0.600000 0.183333 0.783333 ( 0.468682)
ruby 1.8.2 (2004-12-25) [x86_64-linux]
Rehearsal ---------------------------------------------
return 0.800000 0.366667 1.166667 ( 0.690793)
no return 0.466667 0.266667 0.733333 ( 0.443682)
return 0.783333 0.383333 1.166667 ( 0.700236)
no return 0.650000 0.150000 0.800000 ( 0.480029)
------------------------------------ total: 3.866667sec
user system total real
return 0.833333 0.300000 1.133333 ( 0.673554)
no return 0.500000 0.233333 0.733333 ( 0.440321)
return 0.766667 0.400000 1.166667 ( 0.706176)
no return 0.633333 0.150000 0.783333 ( 0.469021)
ruby 1.8.3 (2005-09-21) [x86_64-linux]
Rehearsal ---------------------------------------------
return 0.900000 0.300000 1.200000 ( 0.723772)
no return 0.533333 0.233333 0.766667 ( 0.453611)
return 0.866667 0.316667 1.183333 ( 0.717285)
no return 0.633333 0.216667 0.850000 ( 0.498931)
------------------------------------ total: 4.000000sec
user system total real
return 0.916667 0.233333 1.150000 ( 0.699412)
no return 0.533333 0.233333 0.766667 ( 0.454412)
return 0.883333 0.350000 1.233333 ( 0.743219)
no return 0.633333 0.216667 0.850000 ( 0.507747)
ruby 1.8.4 (2005-12-24) [x86_64-linux]
Rehearsal ---------------------------------------------
return 0.833333 0.350000 1.183333 ( 0.710636)
no return 0.550000 0.250000 0.800000 ( 0.478005)
return 0.866667 0.300000 1.166667 ( 0.703496)
no return 0.650000 0.166667 0.816667 ( 0.485306)
------------------------------------ total: 3.966667sec
user system total real
return 0.750000 0.333333 1.083333 ( 0.663308)
no return 0.516667 0.266667 0.783333 ( 0.456767)
return 0.850000 0.316667 1.166667 ( 0.704535)
no return 0.700000 0.116667 0.816667 ( 0.493767)
ruby 1.8.5 (2008-06-20 patchlevel 231) [x86_64-linux]
Rehearsal ---------------------------------------------
return 0.480000 0.220000 0.700000 ( 0.701085)
no return 0.300000 0.140000 0.440000 ( 0.440775)
return 0.500000 0.210000 0.710000 ( 0.704916)
no return 0.400000 0.080000 0.480000 ( 0.484440)
------------------------------------ total: 2.330000sec
user system total real
return 0.410000 0.240000 0.650000 ( 0.652598)
no return 0.280000 0.150000 0.430000 ( 0.439727)
return 0.520000 0.180000 0.700000 ( 0.699697)
no return 0.400000 0.070000 0.470000 ( 0.472049)
ruby 1.8.6 (2009-09-09 patchlevel 388) [x86_64-linux]
Rehearsal ---------------------------------------------
return 0.560000 0.130000 0.690000 ( 0.692107)
no return 0.280000 0.170000 0.450000 ( 0.451338)
return 0.460000 0.260000 0.720000 ( 0.709473)
no return 0.400000 0.080000 0.480000 ( 0.481919)
------------------------------------ total: 2.340000sec
user system total real
return 0.480000 0.200000 0.680000 ( 0.680756)
no return 0.290000 0.160000 0.450000 ( 0.448534)
return 0.490000 0.220000 0.710000 ( 0.708524)
no return 0.390000 0.090000 0.480000 ( 0.480048)
ruby 1.8.7 (2010-01-10 patchlevel 249) [x86_64-linux]
Rehearsal ---------------------------------------------
return 0.460000 0.220000 0.680000 ( 0.679568)
no return 0.280000 0.170000 0.450000 ( 0.458213)
return 0.540000 0.180000 0.720000 ( 0.715076)
no return 0.400000 0.100000 0.500000 ( 0.500134)
------------------------------------ total: 2.350000sec
user system total real
return 0.540000 0.150000 0.690000 ( 0.680355)
no return 0.330000 0.130000 0.460000 ( 0.463069)
return 0.530000 0.190000 0.720000 ( 0.719298)
no return 0.390000 0.100000 0.490000 ( 0.497178)
ruby 1.8.7 (2010-01-10 patchlevel 249) [x86_64-linux]
Rehearsal ---------------------------------------------
return 0.520000 0.190000 0.710000 ( 0.721792)
no return 0.360000 0.150000 0.510000 ( 0.505582)
return 0.580000 0.210000 0.790000 ( 0.783315)
no return 0.380000 0.170000 0.550000 ( 0.557765)
------------------------------------ total: 2.560000sec
user system total real
return 0.520000 0.220000 0.740000 ( 0.736067)
no return 0.390000 0.130000 0.520000 ( 0.516839)
return 0.590000 0.190000 0.780000 ( 0.779138)
no return 0.370000 0.180000 0.550000 ( 0.552923)
ruby 1.8.8dev (2010-03-10 revision 26865) [x86_64-linux]
Rehearsal ---------------------------------------------
return 0.520000 0.200000 0.720000 ( 0.743124)
no return 0.340000 0.120000 0.460000 ( 0.461329)
return 0.510000 0.210000 0.720000 ( 0.710766)
no return 0.430000 0.050000 0.480000 ( 0.485822)
------------------------------------ total: 2.380000sec
user system total real
return 0.490000 0.190000 0.680000 ( 0.683154)
no return 0.320000 0.130000 0.450000 ( 0.450878)
return 0.510000 0.200000 0.710000 ( 0.710883)
no return 0.400000 0.090000 0.490000 ( 0.483480)
ruby 1.9.1p420 (2010-02-04 revision 26571) [x86_64-linux]
Rehearsal ---------------------------------------------
return 0.120000 0.000000 0.120000 ( 0.116128)
no return 0.110000 0.000000 0.110000 ( 0.109937)
return 0.110000 0.000000 0.110000 ( 0.108779)
no return 0.110000 0.000000 0.110000 ( 0.110599)
------------------------------------ total: 0.450000sec
user system total real
return 0.110000 0.000000 0.110000 ( 0.106258)
no return 0.100000 0.000000 0.100000 ( 0.105572)
return 0.110000 0.000000 0.110000 ( 0.108817)
no return 0.110000 0.000000 0.110000 ( 0.110472)
ruby 1.9.2dev (2010-03-11 trunk 26872) [x86_64-linux]
Rehearsal ---------------------------------------------
return 0.140000 0.000000 0.140000 ( 0.141276)
no return 0.140000 0.000000 0.140000 ( 0.136559)
return 0.140000 0.000000 0.140000 ( 0.140941)
no return 0.140000 0.000000 0.140000 ( 0.139863)
------------------------------------ total: 0.560000sec
user system total real
return 0.130000 0.000000 0.130000 ( 0.136334)
no return 0.140000 0.000000 0.140000 ( 0.137151)
return 0.140000 0.000000 0.140000 ( 0.139118)
no return 0.140000 0.000000 0.140000 ( 0.139889)
require 'benchmark'
def a
return :a
end
def b
:b
end
def c(arg)
return arg
end
def d(arg)
arg
end
n = 10**6
Benchmark.bmbm do |x|
x.report('return'){ n.times{ a() } }
x.report('no return'){ n.times{ b() } }
x.report('return'){ n.times{ c(:c) } }
x.report('no return'){ n.times{ d(:d) } }
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment