--- !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(&quot; &quot;*7 + CAPTION, 7, FMTSTR, &quot;&gt;total:&quot;, &quot;&gt;avg:&quot;) do |x|\n      tf = x.report(&quot;for:&quot;)   { for i in 1..n; a = &quot;1&quot;; end }\n      tt = x.report(&quot;times:&quot;) { n.times do   ; a = &quot;1&quot;; end }\n      tu = x.report(&quot;upto:&quot;)  { 1.upto(n) do ; a = &quot;1&quot;; 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       &gt;total:  4.000000   0.033333   4.033333 (  1.889282)\n       &gt;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
