Method: Benchmark.bm
- Defined in:
- lib/benchmark.rb
.bm(label_width = 0, *labels, &blk) ⇒ Object
A simple interface to the #benchmark method, #bm generates sequential reports with labels. label_width and labels parameters have the same meaning as for #benchmark.
require 'benchmark'
n = 5000000
Benchmark.bm(7) do |x|
x.report("for:") { for i in 1..n; a = "1"; end }
x.report("times:") { n.times do ; a = "1"; end }
x.report("upto:") { 1.upto(n) do ; a = "1"; end }
end
Generates:
user system total real
for: 0.960000 0.000000 0.960000 ( 0.957966)
times: 0.960000 0.000000 0.960000 ( 0.960423)
upto: 0.950000 0.000000 0.950000 ( 0.954864)
216 217 218 |
# File 'lib/benchmark.rb', line 216 def bm(label_width = 0, *labels, &blk) # :yield: report benchmark(CAPTION, label_width, FORMAT, *labels, &blk) end |