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'
def foo
self
end
def invoking
i = 0;
while i < 100000
foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
foo; foo; foo; foo; foo; foo; foo; foo; foo; foo;
i += 1;
end
end
puts "Test ruby method: 100k loops calling self's foo 100 times"
(ARGV[0] || 10).to_i.times {
puts Benchmark.measure {
invoking
}
}
|