summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Chang (bz) <bizkit.tw@gmail.com>2011-10-21 23:26:10 +0800
committerJoseph Chang (bz) <bizkit.tw@gmail.com>2011-10-21 23:26:10 +0800
commit5d1e20ca950abbf73ecd4fa68a40167343a0f5f3 (patch)
treeb847820ebba80b615b8ca4eca698e14d79d03ccc
parent93fc25f69196ee08fbb467277d83b5b18f9c02df (diff)
download0xbench-5d1e20ca950abbf73ecd4fa68a40167343a0f5f3.tar.gz
Add support for uploading SunSpider results to 0xBenchWeb.
-rw-r--r--assets/driver.html16
-rw-r--r--src/org/zeroxlab/benchmark/CaseJavascript.java32
-rw-r--r--src/org/zeroxlab/benchmark/TesterJavascript.java7
3 files changed, 46 insertions, 9 deletions
diff --git a/assets/driver.html b/assets/driver.html
index 394e557..fc02aa2 100644
--- a/assets/driver.html
+++ b/assets/driver.html
@@ -102,8 +102,9 @@ function finish()
computeStdDevs();
computeStdErrors();
+ var formattedOutput = getOutputForUpload();
var finalOutput = getOutput();
- window.ANDROID_OBJ.finish(finalOutput);
+ window.ANDROID_OBJ.finish(finalOutput, formattedOutput);
}
@@ -145,6 +146,19 @@ function getOutput()
return outputString;
}
+
+function getOutputForUpload()
+{
+ var outputString = "";
+
+ outputString += "Total\t" + mean.toString() + "\n";
+ for (var category in categoryMeans) {
+ outputString += category + "\t" + categoryMeans[category].toString();
+ outputString += "\n";
+ }
+
+ return outputString;
+}
</script>
<div id="frameparent">
diff --git a/src/org/zeroxlab/benchmark/CaseJavascript.java b/src/org/zeroxlab/benchmark/CaseJavascript.java
index 16beb76..097f9ab 100644
--- a/src/org/zeroxlab/benchmark/CaseJavascript.java
+++ b/src/org/zeroxlab/benchmark/CaseJavascript.java
@@ -30,9 +30,12 @@ import android.content.BroadcastReceiver;
import android.content.Intent;
import android.os.Bundle;
+import java.lang.Float;
+
public class CaseJavascript extends Case {
public static String SUNSPIDER_RESULT = "SUNSPIDER_RESULT";
+ public static String SUNSPIDER_FORMATTED_RESULT = "SUNSPIDER_FORMATTED_RESULT";
public static String SUNSPIDER_TOTAL = "SUNSPIDER_TOTAL";
public static int sRepeat = 1;
@@ -41,9 +44,10 @@ public class CaseJavascript extends Case {
private double mTotal = 0.0;
protected String[] mJSResults;
+ protected String mFormattedResult;
CaseJavascript() {
super("CaseJavascript", "org.zeroxlab.benchmark.TesterJavascript", sRepeat, sRound);
- mType = "msec";
+ mType = "msec-js";
mTags = new String[]{new String("javascript")};
}
@@ -79,13 +83,19 @@ public class CaseJavascript extends Case {
@Override
public ArrayList<Scenario> getScenarios () {
- ArrayList<Scenario> scenarios = new ArrayList<Scenario>();
- Scenario s = new Scenario(getTitle(), mType, mTags);
- s.mLog = getResultOutput();
- s.mResults.add(mTotal);
-
- scenarios.add(s);
+ ArrayList<Scenario> scenarios = new ArrayList<Scenario>();
+ String results[] = mFormattedResult.split("\n");
+ for (String result: results) {
+ String name_time[] = result.split("\t");
+ String title = getTitle() + ":" + name_time[0];
+ Log.i(TAG, "JS title: " + title);
+ Log.i(TAG, "JS time: " + name_time[1]);
+
+ Scenario s = new Scenario(title, mType, mTags);
+ s.mResults.add( Double.parseDouble(name_time[1]) );
+ scenarios.add(s);
+ }
return scenarios;
}
@@ -102,6 +112,14 @@ public class CaseJavascript extends Case {
mJSResults[index] = result;
}
+ String formatted_result = intent.getStringExtra(SUNSPIDER_FORMATTED_RESULT);
+ if (result == null) {
+ Log.e(TAG, "Weird! cannot find SunSpiderInfo for formatted");
+ return false;
+ } else {
+ mFormattedResult = formatted_result;
+ }
+
return true;
}
}
diff --git a/src/org/zeroxlab/benchmark/TesterJavascript.java b/src/org/zeroxlab/benchmark/TesterJavascript.java
index 0b0ebf9..a29d55c 100644
--- a/src/org/zeroxlab/benchmark/TesterJavascript.java
+++ b/src/org/zeroxlab/benchmark/TesterJavascript.java
@@ -24,6 +24,7 @@ import android.os.Message;
import android.content.Intent;
import android.webkit.WebView;
import android.webkit.WebSettings;
+import android.util.Log;
public class TesterJavascript extends Tester {
@@ -32,6 +33,7 @@ public class TesterJavascript extends Tester {
private double mTotalTime = 0.0;
private String mResult = "";
+ private String mFormattedResult = "";
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -74,13 +76,16 @@ public class TesterJavascript extends Tester {
@Override
protected boolean saveResult(Intent intent) {
intent.putExtra(CaseJavascript.SUNSPIDER_RESULT, mResult);
+ intent.putExtra(CaseJavascript.SUNSPIDER_FORMATTED_RESULT, mFormattedResult);
intent.putExtra(CaseJavascript.SUNSPIDER_TOTAL, mTotalTime);
return true;
}
class MsgCallback {
- public void finish(String result) {
+ public void finish(String result, String formatted_result) {
+ Log.i("Benchmark", "JS result got");
mResult = result;
+ mFormattedResult = formatted_result;
decreaseCounter();
}
}