[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

ojan at chromium.org ojan at chromium.org
Wed Dec 22 12:30:23 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit ec7a094446ba4dfb564af2bbf988e522b25fab49
Author: ojan at chromium.org <ojan at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Aug 24 22:22:14 2010 +0000

    2010-08-24  Ojan Vafai  <ojan at chromium.org>
    
            Reviewed by Tony Chang.
    
            perf tests are flaky
            https://bugs.webkit.org/show_bug.cgi?id=44199
    
            Speculative fix for perf test flakiness. Use chromium.Interval
            to get a microsecond granularity timer. If this does end up
            reducing flakiness, then we can expose something similar for
            JSC and/or layoutTestController.
    
            * resources/magnitude-perf.js:
            (Magnitude._runIteration):
            (Magnitude):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65940 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 00dd636..bd05084 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,19 @@
+2010-08-24  Ojan Vafai  <ojan at chromium.org>
+
+        Reviewed by Tony Chang.
+
+        perf tests are flaky
+        https://bugs.webkit.org/show_bug.cgi?id=44199
+
+        Speculative fix for perf test flakiness. Use chromium.Interval
+        to get a microsecond granularity timer. If this does end up
+        reducing flakiness, then we can expose something similar for
+        JSC and/or layoutTestController.
+
+        * resources/magnitude-perf.js:
+        (Magnitude._runIteration):
+        (Magnitude):
+
 2010-08-24  Pavel Podivilov  <podivilov at chromium.org>
 
         Reviewed by Yury Semikhatsky.
diff --git a/LayoutTests/resources/magnitude-perf.js b/LayoutTests/resources/magnitude-perf.js
index a8c7273..cbd1b02 100644
--- a/LayoutTests/resources/magnitude-perf.js
+++ b/LayoutTests/resources/magnitude-perf.js
@@ -203,14 +203,30 @@ Magnitude._runIteration = function(setup, test, magnitude, milliseconds, runsPer
     Magnitude._debug('run iteration. magnitude ' + magnitude + " milliseconds " + milliseconds + " runsPerIteration " + runsPerIteration);
     setup(magnitude);
 
-    var start = Date.now();
     var iterations = 0;
-    while (Date.now() - start < milliseconds) {
-        // Loop runsPerIteration times to reduce errors due to the overhead and granularity of the Date object.
-        for (var i = 0; i < runsPerIteration; i++) {
-            test(magnitude);
-        }
-        iterations++;
+    if (window.chromium) {
+      // FIXME: If using microseconds turns out to be less flaky, expose microseconds
+      // from JSC or layoutTestController and use them. Otherwise, get rid of this block.
+      var microseconds = milliseconds * 1000;
+      var interval = new chromium.Interval();
+      interval.start();
+      while (interval.microseconds() < microseconds) {
+          // Loop runsPerIteration times to reduce errors due to the overhead and granularity of the Date object.
+          for (var i = 0; i < runsPerIteration; i++) {
+              test(magnitude);
+          }
+          iterations++;
+      }
+      interval.stop();
+    } else {
+      var start = Date.now();
+      while (Date.now() - start < milliseconds) {
+          // Loop runsPerIteration times to reduce errors due to the overhead and granularity of the Date object.
+          for (var i = 0; i < runsPerIteration; i++) {
+              test(magnitude);
+          }
+          iterations++;
+      }
     }
     return iterations;
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list