Changed benchmark runners to always display at least three significant

digits in the results.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 9aaa8d98
...@@ -120,7 +120,7 @@ BenchmarkSuite.RunSuites = function(runner) { ...@@ -120,7 +120,7 @@ BenchmarkSuite.RunSuites = function(runner) {
} }
if (runner.NotifyScore) { if (runner.NotifyScore) {
var score = BenchmarkSuite.GeometricMean(BenchmarkSuite.scores); var score = BenchmarkSuite.GeometricMean(BenchmarkSuite.scores);
runner.NotifyScore(Math.round(100 * score)); runner.NotifyScore(100 * score);
} }
} }
RunStep(); RunStep();
...@@ -164,7 +164,7 @@ BenchmarkSuite.prototype.NotifyResult = function() { ...@@ -164,7 +164,7 @@ BenchmarkSuite.prototype.NotifyResult = function() {
var score = this.reference / mean; var score = this.reference / mean;
BenchmarkSuite.scores.push(score); BenchmarkSuite.scores.push(score);
if (this.runner.NotifyResult) { if (this.runner.NotifyResult) {
this.runner.NotifyResult(this.name, Math.round(100 * score)); this.runner.NotifyResult(this.name, 100 * score);
} }
} }
...@@ -219,3 +219,14 @@ BenchmarkSuite.prototype.RunStep = function(runner) { ...@@ -219,3 +219,14 @@ BenchmarkSuite.prototype.RunStep = function(runner) {
} }
return RunNext(); return RunNext();
} }
// Converts a score value to a string with at least three significant
// digits.
function formatScore(value) {
if (value > 100) {
return value.toFixed(0);
} else {
return value.toPrecision(3);
}
}
...@@ -21,7 +21,7 @@ function ShowProgress(name) { ...@@ -21,7 +21,7 @@ function ShowProgress(name) {
function AddResult(name, result) { function AddResult(name, result) {
var text = name + ': ' + result; var text = name + ': ' + formatScore(result);
var results = document.getElementById("results"); var results = document.getElementById("results");
results.innerHTML += (text + "<br/>"); results.innerHTML += (text + "<br/>");
} }
...@@ -36,7 +36,7 @@ function AddError(name, error) { ...@@ -36,7 +36,7 @@ function AddError(name, error) {
function AddScore(score) { function AddScore(score) {
var status = document.getElementById("status"); var status = document.getElementById("status");
if (success) { if (success) {
status.innerHTML = "Score: " + score; status.innerHTML = "Score: " + formatScore(score);
} }
} }
......
...@@ -36,7 +36,7 @@ load('earley-boyer.js'); ...@@ -36,7 +36,7 @@ load('earley-boyer.js');
var success = true; var success = true;
function PrintResult(name, result) { function PrintResult(name, result) {
print(name + ': ' + result); print(name + ': ' + formatScore(result));
} }
...@@ -49,7 +49,8 @@ function PrintError(name, error) { ...@@ -49,7 +49,8 @@ function PrintError(name, error) {
function PrintScore(score) { function PrintScore(score) {
if (success) { if (success) {
print('----'); print('----');
print('Score (version ' + BenchmarkSuite.version + '): ' + score); print('Score (version ' + BenchmarkSuite.version + '): '
+ formatScore(score));
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment