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 / define_method.rb
100644 26 lines (20 sloc) 0.421 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
require 'benchmark'
 
TIMES = (ARGV[0] || 100_000).to_i
 
class Foo
  define_method(:foo) do |x|
    x
  end
 
  class_eval <<-EOS, __FILE__, __LINE__
 
def #{:bar}(x)
x
end
EOS
 
  def baz(x)
    x
  end
end
 
Benchmark.bmbm do |x|
  x.report("define_method") { TIMES.times {Foo.new.foo(10)} }
  x.report("class_eval") { TIMES.times {Foo.new.bar(10)} }
  x.report("def") { TIMES.times {Foo.new.baz(10)} }
end