module Benchmark::Compare
def compare(*entries)
-
entries
(Array
) -- Reports to compare.
def compare(*entries) return if entries.size < 2 sorted = entries.sort_by(&:ips).reverse best = sorted.shift $stdout.puts "\nComparison:" $stdout.printf "%20s: %10.1f i/s\n", best.label, best.ips sorted.each do |report| name = report.label.to_s $stdout.printf "%20s: %10.1f i/s - ", name, report.ips best_low = best.ips - best.ips_sd report_high = report.ips + report.ips_sd overlaps = report_high > best_low if overlaps $stdout.print "same-ish: difference falls within error" else x = (best.ips.to_f / report.ips.to_f) $stdout.printf "%.2fx slower", x end $stdout.puts end $stdout.puts end