Current File : //proc/thread-self/root/opt/alt/ruby18/share/ri/1.8/system/Benchmark/benchmark-i.yaml |
--- !ruby/object:RI::MethodDescription
aliases: []
block_params: report
comment:
- !ruby/struct:SM::Flow::P
body: Invokes the block with a <tt>Benchmark::Report</tt> object, which may be used to collect and report on the results of individual benchmark tests. Reserves <em>label_width</em> leading spaces for labels on each line. Prints <em>caption</em> at the top of the report, and uses <em>fmt</em> to format each line. If the block returns an array of <tt>Benchmark::Tms</tt> objects, these will be used to format additional lines of output. If <em>label</em> parameters are given, these are used to label these extra lines.
- !ruby/struct:SM::Flow::P
body: "<em>Note</em>: Other methods provide a simpler interface to this one, and are suitable for nearly all benchmarking requirements. See the examples in Benchmark, and the #bm and #bmbm methods."
- !ruby/struct:SM::Flow::P
body: "Example:"
- !ruby/struct:SM::Flow::VERB
body: " require 'benchmark'\n include Benchmark # we need the CAPTION and FMTSTR constants\n\n n = 50000\n Benchmark.benchmark(" "*7 + CAPTION, 7, FMTSTR, ">total:", ">avg:") do |x|\n tf = x.report("for:") { for i in 1..n; a = "1"; end }\n tt = x.report("times:") { n.times do ; a = "1"; end }\n tu = x.report("upto:") { 1.upto(n) do ; a = "1"; end }\n [tf+tt+tu, (tf+tt+tu)/3]\n end\n"
- !ruby/struct:SM::Flow::P
body: <em>Generates:</em>
- !ruby/struct:SM::Flow::VERB
body: " user system total real\n for: 1.016667 0.016667 1.033333 ( 0.485749)\n times: 1.450000 0.016667 1.466667 ( 0.681367)\n upto: 1.533333 0.000000 1.533333 ( 0.722166)\n >total: 4.000000 0.033333 4.033333 ( 1.889282)\n >avg: 1.333333 0.011111 1.344444 ( 0.629761)\n"
full_name: Benchmark#benchmark
is_singleton: false
name: benchmark
params: (caption = "", label_width = nil, fmtstr = nil, *labels) {|report| ...}
visibility: public