[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