You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by fi...@apache.org on 2013/02/05 00:56:46 UTC
spec commit: start of moving/rename for benchmarks
Updated Branches:
refs/heads/master 80766b268 -> 66a4bd7f0
Updated Tags: refs/tags/2.4.0 [created] 66a4bd7f0
start of moving/rename for benchmarks
Project: http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/commit/66a4bd7f
Tree: http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/tree/66a4bd7f
Diff: http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/diff/66a4bd7f
Branch: refs/heads/master
Commit: 66a4bd7f070182d547de51bd6a409cb9798a3347
Parents: 80766b2
Author: Fil Maj <ma...@gmail.com>
Authored: Fri Feb 1 14:28:22 2013 -0800
Committer: Fil Maj <ma...@gmail.com>
Committed: Mon Feb 4 15:58:54 2013 -0800
----------------------------------------------------------------------
audio/index.html | 5 -
benchmarks/arraybuffer.html | 132 ++++++++++++++++++++++++++++
benchmarks/index.html | 164 +++++++++++++++++++++++++++++++++++
execbenchmark/arraybuffer.html | 132 ----------------------------
execbenchmark/index.html | 164 -----------------------------------
index.html | 2 +-
6 files changed, 297 insertions(+), 302 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/blob/66a4bd7f/audio/index.html
----------------------------------------------------------------------
diff --git a/audio/index.html b/audio/index.html
index 4edf37a..edd5c81 100644
--- a/audio/index.html
+++ b/audio/index.html
@@ -32,12 +32,7 @@
<script type="text/javascript" charset="utf-8">
- //var defaultaudio = "/android_asset/one.mp3"; //local file
var defaultaudio = "http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3";
- //var src = "http://neuga.s3.amazonaws.com/onclassical/strings-or gan.mp3";
- // var src = "http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3";
- //var src = "/android_asset/www/Jet_Sledding.mp4"; // no work
- //var src = "http://vprbbc.streamguys.net/vprbbc24.mp3"; // mp3 streaming
var deviceReady = false;
//-------------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/blob/66a4bd7f/benchmarks/arraybuffer.html
----------------------------------------------------------------------
diff --git a/benchmarks/arraybuffer.html b/benchmarks/arraybuffer.html
new file mode 100644
index 0000000..516f66e
--- /dev/null
+++ b/benchmarks/arraybuffer.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+
+<html>
+ <head>
+ <meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,maximum-scale=1.0,initial-scale=1.0" />
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <!-- ISO-8859-1 -->
+ <title>Cordova Mobile Spec</title>
+ <link rel="stylesheet" href="../master.css" type="text/css" media="screen" title="no title" charset="utf-8">
+ <script type="text/javascript" charset="utf-8" src="../cordova.js"></script>
+
+<script>
+ var exec = cordova.require('cordova/exec'),
+ deviceReady = false;
+
+ function appLog(message) {
+ if (window.console) {
+ console.log(message);
+ }
+ if (typeof message != 'string') {
+ message = JSON.stringify(message);
+ }
+ document.getElementById('app-logs').innerText += message + '\n';
+ }
+
+ function benchExec() {
+ var echo = cordova.require('cordova/plugin/echo'),
+ startTime = +new Date,
+ callCount = 0,
+ durationMs = parseInt(document.getElementById('test-duration').value, 10) * 1000,
+ payloadSize = (+document.getElementById('payload-size').value),
+ payload = new ArrayBuffer(payloadSize);
+
+ var payloadView = new Uint8Array(payload);
+ for (var i=0; i<payloadView.length; i++) {
+ payloadView[i] = i;
+ }
+
+ function compareArrayBuffers(arr1, arr2) {
+ arr1 = new Uint8Array(arr1);
+ arr2 = new Uint8Array(arr2);
+ if (arr1.length != arr2.length)
+ return false;
+ for (var i = 0; i < arr1.length; ++i) {
+ if (arr1[i] != arr2[i]) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ function win(result) {
+ callCount++;
+ if (!compareArrayBuffers(result, payload)) {
+ appLog('Wrong echo data!');
+ return;
+ }
+ var elapsedMs = new Date - startTime;
+ if (elapsedMs >= durationMs) {
+ var callsPerSecond = callCount * 1000 / elapsedMs;
+ appLog('Calls per second: ' + callsPerSecond);
+ return;
+ }
+ echoMessage();
+ }
+ function fail() {
+ appLog('Call failed!');
+ }
+ function echoMessage() {
+ setTimeout(function() {
+ echo(win, fail, payload);
+ });
+ }
+
+ appLog('Started exec benchmark with payload length: ' + payloadView.length);
+ echoMessage();
+ setTimeout(function() {
+ if (!callCount) {
+ alert('Echo plugin did not respond');
+ }
+ }, 500);
+ }
+
+ document.addEventListener("deviceready", function() {
+ deviceReady = true;
+ appLog("Device = " + device.platform + " " + device.version);
+ }, false);
+
+ window.onload = function() {
+ window.setTimeout(function() {
+ if (!deviceReady) {
+ alert("Error: Cordova did not initialize. Demo will not run correctly.");
+ }
+ }, 1000);
+ };
+
+</script>
+
+ </head>
+ <body id="stage" class="theme">
+ <h1>ArrayBuffer Benchmark</h1>
+ <fieldset>
+ <legend>Settings</legend>
+ <label>Test Duration: <select id="test-duration"><option>1 Second</option><option>5 Seconds</option></select><br></label>
+ <label>Payload size (in bytes) <input id="payload-size" value="1024" style="width:100px"></label><br>
+ <button onclick="benchExec()">Benchmark exec</button><br>
+ </fieldset>
+ <h2> </h2><a href="javascript:" class="backBtn" onclick="backHome();">Back</a><br>
+ <div>Results:</div>
+ <pre id="app-logs" style="white-space:pre-wrap;line-height:initial"></pre>
+ </body>
+</html>
http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/blob/66a4bd7f/benchmarks/index.html
----------------------------------------------------------------------
diff --git a/benchmarks/index.html b/benchmarks/index.html
new file mode 100644
index 0000000..35c9c36
--- /dev/null
+++ b/benchmarks/index.html
@@ -0,0 +1,164 @@
+<!DOCTYPE html>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+
+<html>
+ <head>
+ <meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,maximum-scale=1.0,initial-scale=1.0" />
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <!-- ISO-8859-1 -->
+ <title>Cordova Mobile Spec</title>
+ <link rel="stylesheet" href="../master.css" type="text/css" media="screen" title="no title" charset="utf-8">
+ <script type="text/javascript" charset="utf-8" src="../cordova.js"></script>
+
+<script>
+ var exec = cordova.require('cordova/exec'),
+ appLogElem = null,
+ deviceReady = false;
+
+ function appLog(message) {
+ if (!appLogElem) {
+ appLogElem = document.getElementById('app-logs');
+ }
+ appLogElem.innerText += message + '\n';
+ if (window.console) {
+ console.log(message);
+ }
+ }
+
+ function clearLogs() {
+ appLogElem.innerHTML = '';
+ }
+
+ function benchExec() {
+ var echo = cordova.require('cordova/plugin/echo'),
+ startTime = +new Date,
+ callCount = 0,
+ durationMs = parseInt(document.getElementById('test-duration').value, 10) * 1000,
+ asyncEcho = document.getElementById('async-echo').checked,
+ useSetTimeout = document.getElementById('use-setTimeout').checked,
+ jsToNativeMode = document.getElementById('js-native-modes').value,
+ nativeToJsMode = document.getElementById('native-js-modes').value,
+ payloadSize = +document.getElementById('payload-size').value,
+ payload = new Array(payloadSize * 10 + 1).join('012\n\n 6789');
+
+ function win(result) {
+ callCount++;
+ if (result != payload) {
+ appLog('Wrong echo data!');
+ }
+ var elapsedMs = new Date - startTime;
+ if (elapsedMs < durationMs) {
+ if (useSetTimeout) {
+ setTimeout(echoMessage, 0);
+ } else {
+ echoMessage();
+ }
+ } else {
+ var callsPerSecond = callCount * 1000 / elapsedMs;
+ appLog('Calls per second: ' + callsPerSecond);
+ }
+ }
+ function fail() {
+ appLog('Call failed!');
+ }
+ function echoMessage() {
+ echo(win, fail, payload, asyncEcho);
+ }
+
+ var logMsg = 'Started exec benchmark with setTimeout: ' + useSetTimeout + ' asyncEcho: ' + asyncEcho + ' payload length: ' + payload.length;
+ if (jsToNativeMode) {
+ exec.setJsToNativeBridgeMode(+jsToNativeMode);
+ logMsg += ' jsToNativeMode: ' + jsToNativeMode;
+ }
+ if (nativeToJsMode) {
+ exec.setNativeToJsBridgeMode(+nativeToJsMode);
+ logMsg += ' nativeToJsMode: ' + nativeToJsMode;
+ }
+ appLog(logMsg);
+ echoMessage();
+ setTimeout(function() {
+ if (!callCount) {
+ alert('Echo plugin did not respond');
+ }
+ }, 500);
+ }
+
+ function configure() {
+ function configureModes(elemId, modes) {
+ var selectElem = document.getElementById(elemId);
+ for (var modeName in modes) {
+ var optionElem = document.createElement('option');
+ optionElem.value = modes[modeName];
+ optionElem.innerText = modeName;
+ selectElem.appendChild(optionElem);
+ }
+ selectElem.parentNode.style.display = 'block';
+ }
+ if (exec.jsToNativeModes) {
+ configureModes('js-native-modes', exec.jsToNativeModes);
+ }
+ if (exec.nativeToJsModes) {
+ configureModes('native-js-modes', exec.nativeToJsModes);
+ }
+ }
+
+
+ document.addEventListener("deviceready", function() {
+ deviceReady = true;
+ appLog("Device="+device.platform+" "+device.version);
+ configure();
+ }, false);
+
+ window.onload = function() {
+ window.setTimeout(function() {
+ if (!deviceReady) {
+ alert("Error: Cordova did not initialize. Demo will not run correctly.");
+ }
+ }, 1000);
+ };
+
+</script>
+
+ </head>
+ <body id="stage" class="theme">
+ <a href="arraybuffer.html" class="btn large">ArrayBuffer Benchmark</a>
+ <h1>exec() Benchmark</h1>
+ Before running on Android, set the following constants in NativeToJsMessagingBridge:
+ <ul>
+ <li>ENABLE_LOCATION_CHANGE_EXEC_MODE = true
+ <li>DISABLE_EXEC_CHAINING = true
+ </ul>
+ <fieldset>
+ <legend>Settings</legend>
+ <label>Test Duration: <select id="test-duration"><option>1 Second</option><option>5 Seconds</option></select><br></label>
+ <label style="display:none">JS->Native Bridge Mode: <select id="js-native-modes"></select><br></label>
+ <label style="display:none">Native->JS Bridge Mode: <select id="native-js-modes"></select><br></label>
+ <label><input type="checkbox" id="use-setTimeout"> Force async JS->Native</label><br>
+ <label><input type="checkbox" id="async-echo"> Force async Native->JS</label><br>
+ <label>Payload size (in 100s of bytes) <input id="payload-size" value="5" style="width:100px"></label><br>
+ <button onclick="benchExec()">Benchmark exec</button><br>
+ </fieldset>
+ <h2> </h2><a href="javascript:" class="backBtn" onclick="backHome();">Back</a><br>
+ <div>Results: <a href="javascript:clearLogs();">Clear</a></div>
+ <pre id="app-logs" style="white-space:pre-wrap;line-height:initial"></pre>
+ </body>
+</html>
http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/blob/66a4bd7f/execbenchmark/arraybuffer.html
----------------------------------------------------------------------
diff --git a/execbenchmark/arraybuffer.html b/execbenchmark/arraybuffer.html
deleted file mode 100644
index 516f66e..0000000
--- a/execbenchmark/arraybuffer.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<!DOCTYPE html>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
--->
-
-
-<html>
- <head>
- <meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,maximum-scale=1.0,initial-scale=1.0" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <!-- ISO-8859-1 -->
- <title>Cordova Mobile Spec</title>
- <link rel="stylesheet" href="../master.css" type="text/css" media="screen" title="no title" charset="utf-8">
- <script type="text/javascript" charset="utf-8" src="../cordova.js"></script>
-
-<script>
- var exec = cordova.require('cordova/exec'),
- deviceReady = false;
-
- function appLog(message) {
- if (window.console) {
- console.log(message);
- }
- if (typeof message != 'string') {
- message = JSON.stringify(message);
- }
- document.getElementById('app-logs').innerText += message + '\n';
- }
-
- function benchExec() {
- var echo = cordova.require('cordova/plugin/echo'),
- startTime = +new Date,
- callCount = 0,
- durationMs = parseInt(document.getElementById('test-duration').value, 10) * 1000,
- payloadSize = (+document.getElementById('payload-size').value),
- payload = new ArrayBuffer(payloadSize);
-
- var payloadView = new Uint8Array(payload);
- for (var i=0; i<payloadView.length; i++) {
- payloadView[i] = i;
- }
-
- function compareArrayBuffers(arr1, arr2) {
- arr1 = new Uint8Array(arr1);
- arr2 = new Uint8Array(arr2);
- if (arr1.length != arr2.length)
- return false;
- for (var i = 0; i < arr1.length; ++i) {
- if (arr1[i] != arr2[i]) {
- return false;
- }
- }
- return true;
- }
-
- function win(result) {
- callCount++;
- if (!compareArrayBuffers(result, payload)) {
- appLog('Wrong echo data!');
- return;
- }
- var elapsedMs = new Date - startTime;
- if (elapsedMs >= durationMs) {
- var callsPerSecond = callCount * 1000 / elapsedMs;
- appLog('Calls per second: ' + callsPerSecond);
- return;
- }
- echoMessage();
- }
- function fail() {
- appLog('Call failed!');
- }
- function echoMessage() {
- setTimeout(function() {
- echo(win, fail, payload);
- });
- }
-
- appLog('Started exec benchmark with payload length: ' + payloadView.length);
- echoMessage();
- setTimeout(function() {
- if (!callCount) {
- alert('Echo plugin did not respond');
- }
- }, 500);
- }
-
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- appLog("Device = " + device.platform + " " + device.version);
- }, false);
-
- window.onload = function() {
- window.setTimeout(function() {
- if (!deviceReady) {
- alert("Error: Cordova did not initialize. Demo will not run correctly.");
- }
- }, 1000);
- };
-
-</script>
-
- </head>
- <body id="stage" class="theme">
- <h1>ArrayBuffer Benchmark</h1>
- <fieldset>
- <legend>Settings</legend>
- <label>Test Duration: <select id="test-duration"><option>1 Second</option><option>5 Seconds</option></select><br></label>
- <label>Payload size (in bytes) <input id="payload-size" value="1024" style="width:100px"></label><br>
- <button onclick="benchExec()">Benchmark exec</button><br>
- </fieldset>
- <h2> </h2><a href="javascript:" class="backBtn" onclick="backHome();">Back</a><br>
- <div>Results:</div>
- <pre id="app-logs" style="white-space:pre-wrap;line-height:initial"></pre>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/blob/66a4bd7f/execbenchmark/index.html
----------------------------------------------------------------------
diff --git a/execbenchmark/index.html b/execbenchmark/index.html
deleted file mode 100644
index 35c9c36..0000000
--- a/execbenchmark/index.html
+++ /dev/null
@@ -1,164 +0,0 @@
-<!DOCTYPE html>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
--->
-
-
-<html>
- <head>
- <meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,maximum-scale=1.0,initial-scale=1.0" />
- <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <!-- ISO-8859-1 -->
- <title>Cordova Mobile Spec</title>
- <link rel="stylesheet" href="../master.css" type="text/css" media="screen" title="no title" charset="utf-8">
- <script type="text/javascript" charset="utf-8" src="../cordova.js"></script>
-
-<script>
- var exec = cordova.require('cordova/exec'),
- appLogElem = null,
- deviceReady = false;
-
- function appLog(message) {
- if (!appLogElem) {
- appLogElem = document.getElementById('app-logs');
- }
- appLogElem.innerText += message + '\n';
- if (window.console) {
- console.log(message);
- }
- }
-
- function clearLogs() {
- appLogElem.innerHTML = '';
- }
-
- function benchExec() {
- var echo = cordova.require('cordova/plugin/echo'),
- startTime = +new Date,
- callCount = 0,
- durationMs = parseInt(document.getElementById('test-duration').value, 10) * 1000,
- asyncEcho = document.getElementById('async-echo').checked,
- useSetTimeout = document.getElementById('use-setTimeout').checked,
- jsToNativeMode = document.getElementById('js-native-modes').value,
- nativeToJsMode = document.getElementById('native-js-modes').value,
- payloadSize = +document.getElementById('payload-size').value,
- payload = new Array(payloadSize * 10 + 1).join('012\n\n 6789');
-
- function win(result) {
- callCount++;
- if (result != payload) {
- appLog('Wrong echo data!');
- }
- var elapsedMs = new Date - startTime;
- if (elapsedMs < durationMs) {
- if (useSetTimeout) {
- setTimeout(echoMessage, 0);
- } else {
- echoMessage();
- }
- } else {
- var callsPerSecond = callCount * 1000 / elapsedMs;
- appLog('Calls per second: ' + callsPerSecond);
- }
- }
- function fail() {
- appLog('Call failed!');
- }
- function echoMessage() {
- echo(win, fail, payload, asyncEcho);
- }
-
- var logMsg = 'Started exec benchmark with setTimeout: ' + useSetTimeout + ' asyncEcho: ' + asyncEcho + ' payload length: ' + payload.length;
- if (jsToNativeMode) {
- exec.setJsToNativeBridgeMode(+jsToNativeMode);
- logMsg += ' jsToNativeMode: ' + jsToNativeMode;
- }
- if (nativeToJsMode) {
- exec.setNativeToJsBridgeMode(+nativeToJsMode);
- logMsg += ' nativeToJsMode: ' + nativeToJsMode;
- }
- appLog(logMsg);
- echoMessage();
- setTimeout(function() {
- if (!callCount) {
- alert('Echo plugin did not respond');
- }
- }, 500);
- }
-
- function configure() {
- function configureModes(elemId, modes) {
- var selectElem = document.getElementById(elemId);
- for (var modeName in modes) {
- var optionElem = document.createElement('option');
- optionElem.value = modes[modeName];
- optionElem.innerText = modeName;
- selectElem.appendChild(optionElem);
- }
- selectElem.parentNode.style.display = 'block';
- }
- if (exec.jsToNativeModes) {
- configureModes('js-native-modes', exec.jsToNativeModes);
- }
- if (exec.nativeToJsModes) {
- configureModes('native-js-modes', exec.nativeToJsModes);
- }
- }
-
-
- document.addEventListener("deviceready", function() {
- deviceReady = true;
- appLog("Device="+device.platform+" "+device.version);
- configure();
- }, false);
-
- window.onload = function() {
- window.setTimeout(function() {
- if (!deviceReady) {
- alert("Error: Cordova did not initialize. Demo will not run correctly.");
- }
- }, 1000);
- };
-
-</script>
-
- </head>
- <body id="stage" class="theme">
- <a href="arraybuffer.html" class="btn large">ArrayBuffer Benchmark</a>
- <h1>exec() Benchmark</h1>
- Before running on Android, set the following constants in NativeToJsMessagingBridge:
- <ul>
- <li>ENABLE_LOCATION_CHANGE_EXEC_MODE = true
- <li>DISABLE_EXEC_CHAINING = true
- </ul>
- <fieldset>
- <legend>Settings</legend>
- <label>Test Duration: <select id="test-duration"><option>1 Second</option><option>5 Seconds</option></select><br></label>
- <label style="display:none">JS->Native Bridge Mode: <select id="js-native-modes"></select><br></label>
- <label style="display:none">Native->JS Bridge Mode: <select id="native-js-modes"></select><br></label>
- <label><input type="checkbox" id="use-setTimeout"> Force async JS->Native</label><br>
- <label><input type="checkbox" id="async-echo"> Force async Native->JS</label><br>
- <label>Payload size (in 100s of bytes) <input id="payload-size" value="5" style="width:100px"></label><br>
- <button onclick="benchExec()">Benchmark exec</button><br>
- </fieldset>
- <h2> </h2><a href="javascript:" class="backBtn" onclick="backHome();">Back</a><br>
- <div>Results: <a href="javascript:clearLogs();">Clear</a></div>
- <pre id="app-logs" style="white-space:pre-wrap;line-height:initial"></pre>
- </body>
-</html>
http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec/blob/66a4bd7f/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index 464ccf8..23683ae 100644
--- a/index.html
+++ b/index.html
@@ -58,7 +58,7 @@
<a href="notification/index.html" class="btn large">Notification</a>
<a href="sql/index.html" class="btn large">Web SQL</a>
<a href="storage/index.html" class="btn large">Local Storage</a>
- <a href="execbenchmark/index.html" class="btn large">Benchmark exec()</a>
+ <a href="benchmarks/index.html" class="btn large">Benchmarks</a>
<a href="inappbrowser/index.html" class="btn large">In App Browser</a>
</body>
</html>