diff options
author | KaĆque Kandy Koga <[email protected]> | 2022-08-08 14:53:05 -0300 |
---|---|---|
committer | Hiroshi SHIBATA <[email protected]> | 2024-11-08 11:32:30 +0900 |
commit | 9523f53465bff9e77dfeba82526112e2de91bdb4 () | |
tree | aac728be91e6f7be1085d47470808ed02a166968 /lib/benchmark.rb | |
parent | b56b70a373753fd5c6d1b6df911342c8d0138695 (diff) |
[ruby/benchmark] Adjust ljust Benchmark#bm with labels was not using the highest length among the labels to adjust the correct ljust. Instead of printing the result during the report generation, now it is waiting to print the result once it is generated.
Benchmark.bm { |x| x.item("aaaa") { 1 } x.item("aaaaaaaa") { 0 } } After user system total real aaaa 0.000005 0.000002 0.000007 ( 0.000003) aaaaaaaa 0.000001 0.000001 0.000002 ( 0.000002) Before user system total real aaaa 0.000005 0.000001 0.000006 ( 0.000003) aaaaaaaa 0.000002 0.000001 0.000003 ( 0.000003) https://.com/ruby/benchmark/commit/3e74533ead
-rw-r--r-- | lib/benchmark.rb | 14 |
1 files changed, 10 insertions, 4 deletions
@@ -173,9 +173,15 @@ module Benchmark label_width ||= 0 label_width += 1 format ||= FORMAT - print ' '*label_width + caption unless caption.empty? report = Report.new(label_width, format) results = yield(report) Array === results and results.grep(Tms).each {|t| print((labels.shift || t.label || "").ljust(label_width), t.format(format)) } @@ -380,16 +386,16 @@ module Benchmark # formatting rules. # def item(label = "", *format, &blk) # :yield: - print label.to_s.ljust(@width) @list << res = Benchmark.measure(label, &blk) - print res.format(@format, *format) res end alias report item # An array of Benchmark::Tms objects representing each item. - attr_reader :list end |