diff -r 100eee4adc4c perf.py --- a/perf.py Tue Oct 28 20:10:14 2014 +0100 +++ b/perf.py Sun Nov 16 10:44:28 2014 +0100 @@ -423,14 +423,19 @@ class BenchmarkResult(object): """An object representing data from a succesful benchmark run.""" - def __init__(self, min_base, min_changed, delta_min, avg_base, - avg_changed, delta_avg, t_msg, std_base, std_changed, - delta_std, is_significant, timeline_link): + def __init__(self, min_base, min_changed, delta_min, + avg_base, avg_changed, delta_avg, t_msg, + std_base, std_changed, delta_std, + med_base, med_changed, delta_med, + is_significant, timeline_link): self.min_base = min_base self.min_changed = min_changed self.delta_min = delta_min self.avg_base = avg_base self.avg_changed = avg_changed + self.med_base = med_base + self.med_changed = med_changed + self.delta_med = delta_med self.delta_avg = delta_avg self.t_msg = t_msg self.std_base = std_base @@ -447,6 +452,8 @@ def __str__(self): return (("Min: %(min_base)f -> %(min_changed)f:" + " %(delta_min)s\n" + + "Med: %(med_base)f -> %(med_changed)f:" + + " %(delta_med)s\n" + "Avg: %(avg_base)f -> %(avg_changed)f:" + " %(delta_avg)s\n" + self.t_msg + "Stddev: %(std_base).5f -> %(std_changed).5f:" + @@ -1033,9 +1040,12 @@ min_base, min_changed = base_times[0], changed_times[0] avg_base, avg_changed = avg(base_times), avg(changed_times) + med_base = base_times[len(base_times)//2] + med_changed = changed_times[len(changed_times)//2] std_base = SampleStdDev(base_times) std_changed = SampleStdDev(changed_times) delta_min = TimeDelta(min_base, min_changed) + delta_med = TimeDelta(med_base, med_changed) delta_avg = TimeDelta(avg_base, avg_changed) delta_std = QuantityDelta(std_base, std_changed) @@ -1049,9 +1059,11 @@ if significant: t_msg = "Significant (t=%.2f)\n" % t_score - return BenchmarkResult(min_base, min_changed, delta_min, avg_base, - avg_changed, delta_avg, t_msg, std_base, - std_changed, delta_std, significant, timeline_link) + return BenchmarkResult(min_base, min_changed, delta_min, + avg_base, avg_changed, delta_avg, t_msg, + std_base, std_changed, delta_std, + med_base, med_changed, delta_med, + significant, timeline_link) def CompareBenchmarkData(base_data, exp_data, options):