Chromium Code Reviews| Index: tools/bisect-perf-regression.py |
| diff --git a/tools/bisect-perf-regression.py b/tools/bisect-perf-regression.py |
| index 56892cd4413d5f410366c8f52cc711fbbd69751d..a6685c1f4505976c4fe021c4f82230d831ee98d0 100755 |
| --- a/tools/bisect-perf-regression.py |
| +++ b/tools/bisect-perf-regression.py |
| @@ -291,6 +291,27 @@ def CalculateStandardDeviation(values): |
| return std_dev |
| +def CalculateRelativeChange(before, after): |
| + """Returns the relative change of before and after, relative to before. |
| + |
| + There are several different ways to define relative difference between |
| + two numbers; sometimes it is defined as relative to the smaller number, |
|
qyearsley
2014/04/17 18:47:59
The previous version was calculating the differenc
shatch
2014/04/17 19:46:17
Does this change make it match the perf dashboard?
shatch
2014/04/17 19:47:19
Doh! This is answered in your CL description :)
O
|
| + or to the mean of the two numbers. This version returns the difference |
| + relative to the first of the two numbers. |
| + |
| + Args: |
| + before: A number representing an earlier value. |
| + after: Another number, representing a later value. |
| + |
| + Returns: |
| + A non-negative floating point number; 0.1 represents a 10% change. |
| + """ |
| + if before == 0: |
| + return float('nan') |
| + difference = math.fabs(after - before) |
| + return math.fabs(difference / before) |
| + |
| + |
| def CalculatePooledStandardError(work_sets): |
| numerator = 0.0 |
| denominator1 = 0.0 |
| @@ -3137,8 +3158,8 @@ class BisectPerformanceMetrics(object): |
| mean_of_bad_runs = CalculateMean(broken_mean) |
| mean_of_good_runs = CalculateMean(working_mean) |
| - regression_size = math.fabs(max(mean_of_good_runs, mean_of_bad_runs) / |
| - max(0.0001, min(mean_of_good_runs, mean_of_bad_runs))) * 100.0 - 100.0 |
| + regression_size = 100 * CalculateRelativeChange(mean_of_good_runs, |
| + mean_of_bad_runs) |
| regression_std_err = math.fabs(CalculatePooledStandardError( |
| [working_mean, broken_mean]) / |