Add loopsPerRun option to Parser performance test runner
authoreric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 4 Oct 2011 20:16:51 +0000 (20:16 +0000)
committereric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 4 Oct 2011 20:16:51 +0000 (20:16 +0000)
https://bugs.webkit.org/show_bug.cgi?id=69363

Reviewed by Antti Koivisto.

Add loopsPerRun option and abstract out runLoop function (to make the UI more responsive).
No change in behavior in any of the tests.

* Parser/resources/runner.js:
(runLoop):
(run):
(start):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@96634 268f45cc-cd09-0410-ab3c-d52691b4dbfc

PerformanceTests/ChangeLog
PerformanceTests/Parser/resources/runner.js

index 9e8fbe6..a30736c 100644 (file)
@@ -1,3 +1,18 @@
+2011-10-04  Eric Seidel  <eric@webkit.org>
+
+        Add loopsPerRun option to Parser performance test runner
+        https://bugs.webkit.org/show_bug.cgi?id=69363
+
+        Reviewed by Antti Koivisto.
+
+        Add loopsPerRun option and abstract out runLoop function (to make the UI more responsive).
+        No change in behavior in any of the tests.
+
+        * Parser/resources/runner.js:
+        (runLoop):
+        (run):
+        (start):
+
 2011-10-03  Eric Seidel  <eric@webkit.org>
 
         Add a microbenchmark for a full-page render of the HTML5 spec
index 3fc0b4f..f849054 100644 (file)
@@ -67,29 +67,35 @@ function logStatistics(times) {
     log("max " + computeMax(times));
 }
 
+function runLoop()
+{
+    if (window.completedRuns < window.runCount) {
+        window.setTimeout(run, 0);
+    } else {
+        logStatistics(times);
+    }
+}
+
 function run() {
     var start = new Date();
-    for (var i = 0; i < 10; ++i)
+    for (var i = 0; i < window.loopsPerRun; ++i)
         window.runFunction();
     var time = new Date() - start;
-    completedRuns++;
-    if (completedRuns <= 0) {
+    window.completedRuns++;
+    if (window.completedRuns <= 0) {
         log("Ignoring warm-up run (" + time + ")");
     } else {
         times.push(time);
         log(time);
     }
-    if (completedRuns < window.runCount) {
-        window.setTimeout(run, 0);
-    } else {
-        logStatistics(times);
-    }
+    runLoop()
 }
 
-function start(runCount, runFunction) {
+function start(runCount, runFunction, loopsPerRun) {
     window.runCount = runCount;
     window.runFunction = runFunction;
+    window.loopsPerRun = loopsPerRun || 10;
 
     log("Running " + runCount + " times");
-    run();
+    runLoop();
 }