public
Rubygem
Description: Merb Core: All you need. None you don't.
Homepage: http://www.merbivore.com
Clone URL: git://github.com/wycats/merb-core.git
Search Repo:
Michael S. Klishin (author)
Tue May 13 11:34:51 -0700 2008
commit  137889807100ed854a43e663ae2ea33fb2eea6ce
tree    06ca2a8bf6da47309d6928edf2ff5a14ab9cce65
parent  ff19a1ab25844042f02db0f769c9481810cc1357
merb-core / simple_benches / lots_of_method.rb
100644 29 lines (24 sloc) 0.561 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
require 'benchmark'
 
TIMES = (ARGV[0] || 100_000).to_i
 
class Foo
  def meth1
    1
  end
end
 
class Bar
  (1..10_000).each do |num|
    class_eval <<-METH, __FILE__, __LINE__
def meth#{num}
#{num}
end
METH
  end
end
 
Benchmark.bmbm do |x|
  x.report("single") { TIMES.times { Foo.new.meth1 }}
  x.report("lots") { TIMES.times { Bar.new.meth1 }}
end
 
# TIMES == 1_000_000
# user system total real
# single 0.640000 0.000000 0.640000 ( 0.638838)
# lots 0.640000 0.000000 0.640000 ( 0.635349)