summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian_Chu <walkingice@0xlab.org>2011-07-27 22:07:02 +0800
committerJulian_Chu <walkingice@0xlab.org>2011-07-28 02:56:29 +0800
commitbbe349d0a73286222eb6b4071ade5bc7ecde9bd4 (patch)
tree85877d2be6cf936299e801a7f4f48284c8c54c85
parent43c14e4986d8b89037080798cf6e150deaac1490 (diff)
download0xbench-bbe349d0a73286222eb6b4071ade5bc7ecde9bd4.tar.gz
Modify SunSpider to make it running under Android
Method getOutput will return a string which contains benchmarking results.
-rw-r--r--assets/driver.html67
-rw-r--r--assets/sunspider-analyze-results.js7
2 files changed, 53 insertions, 21 deletions
diff --git a/assets/driver.html b/assets/driver.html
index 12d0952..394e557 100644
--- a/assets/driver.html
+++ b/assets/driver.html
@@ -30,16 +30,17 @@
-->
<title>SunSpider 0.9.1 JavaScript Benchmark (@SUITE@ test suite - In Progress...)</title>
-<link rel="stylesheet" href="../sunspider.css">
+<link rel="stylesheet" href="sunspider.css">
</head>
<body onload="start()">
<h2><span id="logo">&#x2600;</span>SunSpider JavaScript Benchmark <small>(In Progress...)</small></h2>
<h3>Content Version: @SUITE@</h3>
-
<script src="sunspider-test-prefix.js"></script>
<script src="sunspider-test-contents.js"></script>
+<script src="json2.js"></script>
+
<script>
var testIndex = -1;
var currentRepeat = -1;
@@ -50,7 +51,11 @@ output.length = repeatCount;
for (var i = 0; i < output.length; i++) {
output[i] = {};
}
+</script>
+
+<script src="sunspider-analyze-results.js"></script>
+<script>
function start()
{
window.setTimeout(reallyNext, 500);
@@ -90,22 +95,56 @@ function recordResult(time)
function finish()
{
- var outputString = "{";
- outputString += '"v": "@SUITE@", ';
- for (var test in output[0]) {
- outputString += '"' + test + '":[';
- for (var i = 0; i < output.length; i++) {
- outputString += output[i][test] + ",";
+ initialize();
+ computeItemTotals();
+ computeTotals();
+ computeMeans();
+ computeStdDevs();
+ computeStdErrors();
+
+ var finalOutput = getOutput();
+ window.ANDROID_OBJ.finish(finalOutput);
+
+}
+
+function pivot(input)
+{
+ var output = [];
+ for (var test in input) {
+ for (var i = 0; i < input[test].length; i++) {
+ if (!output[i])
+ output[i] = {};
+ output[i][test] = input[test][i];
}
- outputString = outputString.substring(0, outputString.length - 1);
- outputString += "],";
}
- outputString = outputString.substring(0, outputString.length - 1);
- outputString += "}";
-
- location = "results.html?" + encodeURI(outputString);
+ return output;
}
+function getOutput()
+{
+ var labelWidth = computeLabelWidth();
+ var meanWidth = computeMeanWidth();
+ var outputString = "";
+
+ if (count == 1)
+ outputString += "RESULTS\n";
+ else
+ outputString += "RESULTS (means and 95% confidence intervals)\n";
+ outputString += "--------------------------------------------\n";
+ outputString += resultLine(labelWidth, 0, "Total", meanWidth, mean, stdErr);
+ outputString += "\n--------------------------------------------\n";
+ for (var category in categoryMeans) {
+ outputString += resultLine(labelWidth, 2, category, meanWidth, categoryMeans[category], categoryStdErrs[category]);
+ outputString += "\n";
+ for (var test in testMeansByCategory[category]) {
+ var shortName = test.replace(/^[^-]*-/, "");
+ outputString += resultLine(labelWidth, 4, shortName, meanWidth, testMeansByCategory[category][test], testStdErrsByCategory[category][test]);
+ outputString += "\n";
+ }
+ }
+
+ return outputString;
+}
</script>
<div id="frameparent">
diff --git a/assets/sunspider-analyze-results.js b/assets/sunspider-analyze-results.js
index d849f59..5c87eb8 100644
--- a/assets/sunspider-analyze-results.js
+++ b/assets/sunspider-analyze-results.js
@@ -259,10 +259,3 @@ function printOutput()
}
}
-initialize();
-computeItemTotals();
-computeTotals();
-computeMeans();
-computeStdDevs();
-computeStdErrors();
-printOutput();