| Index: chrome/test/data/sunspider/sunspider-compare-results.js
|
| diff --git a/chrome/test/data/sunspider/sunspider-compare-results.js b/chrome/test/data/sunspider/sunspider-compare-results.js
|
| index 887b8db41a2646adaefdba182dad0fa737de6da7..4a9c62481ef2d9588384d9d8a2c881a01a904d29 100644
|
| --- a/chrome/test/data/sunspider/sunspider-compare-results.js
|
| +++ b/chrome/test/data/sunspider/sunspider-compare-results.js
|
| @@ -240,12 +240,23 @@ function sunspiderCompareResults(output1, output2)
|
|
|
| function formatMean(meanWidth, mean, stdErr, count)
|
| {
|
| + if (mean != mean) {
|
| + var result = " ERROR ";
|
| + for (var i = 0; i < meanWidth; ++i)
|
| + result = " " + result;
|
| + return result;
|
| + }
|
| +
|
| var meanString = mean.toFixed(1).toString();
|
| while (meanString.length < meanWidth) {
|
| meanString = " " + meanString;
|
| }
|
|
|
| - var error = "+/- " + ((tDist(count) * stdErr / mean) * 100).toFixed(1) + "% ";
|
| + var errString = ((tDist(count) * stdErr / mean) * 100).toFixed(1) + "%";
|
| + while (errString.length < "99.9%".length)
|
| + errString += " ";
|
| +
|
| + var error = "+/- " + errString + " ";
|
|
|
| return meanString + "ms " + error;
|
| }
|
| @@ -297,32 +308,37 @@ function sunspiderCompareResults(output1, output2)
|
| result += label + ": ";
|
| result = pad(result, labelWidth + 2);
|
|
|
| - var t = (mean1 - mean2) / (Math.sqrt((stdErr1 * stdErr1) + (stdErr1 * stdErr2)));
|
| - var df = count1 + count2 - 2;
|
| -
|
| - var statisticallySignificant = (Math.abs(t) > tDist(df+1));
|
| - var diff = mean2 - mean1;
|
| - var percentage = 100 * diff / mean1;
|
| - var isFaster = diff < 0;
|
| - var probablySame = (percentage < 0.1) && !statisticallySignificant;
|
| - var ratio = isFaster ? (mean1 / mean2) : (mean2 / mean1);
|
| - var fixedRatio = (ratio < 1.2) ? ratio.toFixed(3).toString() : ((ratio < 10) ? ratio.toFixed(2).toString() : ratio.toFixed(1).toString());
|
| - var formattedRatio = isFaster ? fixedRatio + "x as fast" : "*" + fixedRatio + "x as slow*";
|
| -
|
| var diffSummary;
|
| var diffDetail;
|
|
|
| - if (probablySame) {
|
| - diffSummary = "-";
|
| - diffDetail = "";
|
| - } else if (!statisticallySignificant) {
|
| + if (mean1 != mean1 || mean2 != mean2) {
|
| diffSummary = "??";
|
| - diffDetail = " not conclusive: might be " + formattedRatio;
|
| + diffDetail = " invalid runs detected";
|
| } else {
|
| - diffSummary = formattedRatio;
|
| - diffDetail = " significant";
|
| + var t = (mean1 - mean2) / (Math.sqrt((stdErr1 * stdErr1) + (stdErr2 * stdErr2)));
|
| + var df = count1 + count2 - 2;
|
| +
|
| + var statisticallySignificant = (Math.abs(t) > tDist(df+1));
|
| + var diff = mean2 - mean1;
|
| + var percentage = 100 * diff / mean1;
|
| + var isFaster = diff < 0;
|
| + var probablySame = (percentage < 0.1) && !statisticallySignificant;
|
| + var ratio = isFaster ? (mean1 / mean2) : (mean2 / mean1);
|
| + var fixedRatio = (ratio < 1.2) ? ratio.toFixed(3).toString() : ((ratio < 10) ? ratio.toFixed(2).toString() : ratio.toFixed(1).toString());
|
| + var formattedRatio = isFaster ? fixedRatio + "x as fast" : "*" + fixedRatio + "x as slow*";
|
| +
|
| + if (probablySame) {
|
| + diffSummary = "-";
|
| + diffDetail = "";
|
| + } else if (!statisticallySignificant) {
|
| + diffSummary = "??";
|
| + diffDetail = " not conclusive: might be " + formattedRatio;
|
| + } else {
|
| + diffSummary = formattedRatio;
|
| + diffDetail = " significant";
|
| + }
|
| }
|
| -
|
| +
|
| return result + pad(diffSummary, 18) + formatMean(meanWidth1, mean1, stdErr1, count1) + " " + formatMean(meanWidth2, mean2, stdErr2, count2) + diffDetail;
|
| }
|
|
|
| @@ -336,14 +352,14 @@ function sunspiderCompareResults(output1, output2)
|
| var header = "TEST";
|
| while (header.length < labelWidth)
|
| header += " ";
|
| - header += " COMPARISON FROM TO DETAILS";
|
| + header += " COMPARISON FROM TO DETAILS";
|
| print(header);
|
| print("");
|
| - print("=============================================================================");
|
| + print("===============================================================================");
|
| print("");
|
| print(resultLine(labelWidth, 0, "** TOTAL **", meanWidth1, mean1, stdErr1, meanWidth2, mean2, stdErr2));
|
| print("");
|
| - print("=============================================================================");
|
| + print("===============================================================================");
|
|
|
| for (var category in categoryMeans1) {
|
| print("");
|
|
|