require 'benchmark' # user system total real # 2.150000 0.200000 2.350000 ( 2.397291) # 2.830000 0.160000 2.990000 ( 3.060009) # user system total real # 2.130000 0.160000 2.290000 ( 2.324952) # 2.810000 0.170000 2.980000 ( 3.022856) #1000 #1000 def long_method a = [] a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 end def many_short_methods a = [] 100.times { a = short_1 a} a end def short_1 (a) a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 a << 1 end n = 50000 Benchmark.bm do |x| x.report { n.times { long_method } } x.report { n.times { many_short_methods } } end Benchmark.bm do |x| x.report { n.times { long_method } } x.report { n.times { many_short_methods } } end puts long_method.count puts many_short_methods.count