Changed benchmark runners to always display at least three significant
authorchristian.plesner.hansen@gmail.com <christian.plesner.hansen@gmail.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 2 Dec 2008 13:02:11 +0000 (13:02 +0000)
committerchristian.plesner.hansen@gmail.com <christian.plesner.hansen@gmail.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 2 Dec 2008 13:02:11 +0000 (13:02 +0000)
digits in the results.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

benchmarks/base.js
benchmarks/run.html
benchmarks/run.js

index 2c26132..5afc110 100644 (file)
@@ -120,7 +120,7 @@ BenchmarkSuite.RunSuites = function(runner) {
     }
     if (runner.NotifyScore) {
       var score = BenchmarkSuite.GeometricMean(BenchmarkSuite.scores);
-      runner.NotifyScore(Math.round(100 * score));
+      runner.NotifyScore(100 * score);
     }
   }
   RunStep();
@@ -164,7 +164,7 @@ BenchmarkSuite.prototype.NotifyResult = function() {
   var score = this.reference / mean;
   BenchmarkSuite.scores.push(score);
   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) {
   }
   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);
+  }
+}
index 01cadc0..d521e0b 100644 (file)
@@ -21,7 +21,7 @@ function ShowProgress(name) {
 
 
 function AddResult(name, result) {
-  var text = name + ': ' + result;
+  var text = name + ': ' + formatScore(result);
   var results = document.getElementById("results");
   results.innerHTML += (text + "<br/>");  
 }
@@ -36,7 +36,7 @@ function AddError(name, error) {
 function AddScore(score) {
   var status = document.getElementById("status");
   if (success) {
-    status.innerHTML = "Score: " + score;
+    status.innerHTML = "Score: " + formatScore(score);
   }
 }
 
index da2373b..ecfee90 100644 (file)
@@ -36,7 +36,7 @@ load('earley-boyer.js');
 var success = true;
 
 function PrintResult(name, result) {
-  print(name + ': ' + result);
+  print(name + ': ' + formatScore(result));
 }
 
 
@@ -49,7 +49,8 @@ function PrintError(name, error) {
 function PrintScore(score) {
   if (success) {
     print('----');
-    print('Score (version ' + BenchmarkSuite.version + '): ' + score);
+    print('Score (version ' + BenchmarkSuite.version + '): '
+          + formatScore(score));
   }
 }