Index: benchmark/driver.rb =================================================================== --- benchmark/driver.rb (revision 32413) +++ benchmark/driver.rb (working copy) @@ -109,7 +109,10 @@ class BenchmarkDriver output "minimum results in each #{@repeat} measurements." end - output "name\t#{@execs.map{|(e, v)| v}.join("\t")}" + difference = "\tdifference" if @execs.length == 2 and @repeat == 1 + total_difference = 0 + + output "name\t#{@execs.map{|(e, v)| v}.join("\t")}#{difference}" @results.each{|v, result| rets = [] s = nil @@ -129,8 +132,20 @@ class BenchmarkDriver end rets << sprintf("%.3f", r) } + + if difference + diff = result.flatten.last - result.flatten.first + total_difference += diff + rets << sprintf("%.3f", diff) + end + output "#{v}#{s}\t#{rets.join("\t")}" } + + if difference and @verbose + output '-----------------------------------------------------------' + output "total difference is #{total_difference}" + end end def files