[ create a new paste ] login | about

Link: http://codepad.org/4uhWD7Yj    [ raw code | output | fork ]

Ruby, pasted on Jan 23:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
require 'benchmark'

def max_simple(a,b)
  a > b ? a : b
end

def max_enum(*elements)
  elements.max
end

n = 500000
a, b = 125,144
c,d = "horse", "albatross"

Benchmark.benchmark do |x|
  x.report("max_enum: Numbers")   { n.times do ; max_enum(a,b); end }
  x.report("max_enum: String")    { n.times do ; max_enum(c,d); end }
  x.report("max_simple: Numbers") { n.times do ; max_simple(a, b); end }
  x.report("max_simple: String")  { n.times do ; max_simple(c, d); end }
end


Output:
1
2
3
4
max_enum: Numbers  0.580000   0.000000   0.580000 (  0.591041)
max_enum: String  0.620000   0.000000   0.620000 (  0.621257)
max_simple: Numbers  0.220000   0.000000   0.220000 (  0.222374)
max_simple: String  0.300000   0.000000   0.300000 (  0.299508)


Create a new paste based on this one


Comments: