Title: [219640] trunk/PerformanceTests
- Revision
- 219640
- Author
- [email protected]
- Date
- 2017-07-18 16:22:46 -0700 (Tue, 18 Jul 2017)
Log Message
Add performance.mark()s around each test step
https://bugs.webkit.org/show_bug.cgi?id=174530
Patch by Matt Kotsenas <[email protected]> on 2017-07-18
Reviewed by Ryosuke Niwa.
Add `performance.mark()` around each test step to make analysis
simpler. Now each test step can be investigated via dev tools, ETW, etc.
* Speedometer/resources/benchmark-runner.js:
(BenchmarkRunner.prototype._writeMark):
(BenchmarkRunner.prototype._runTest):
(BenchmarkRunner.prototype._runTestAndRecordResults):
Modified Paths
Diff
Modified: trunk/PerformanceTests/ChangeLog (219639 => 219640)
--- trunk/PerformanceTests/ChangeLog 2017-07-18 23:19:57 UTC (rev 219639)
+++ trunk/PerformanceTests/ChangeLog 2017-07-18 23:22:46 UTC (rev 219640)
@@ -1,3 +1,18 @@
+2017-07-18 Matt Kotsenas <[email protected]>
+
+ Add performance.mark()s around each test step
+ https://bugs.webkit.org/show_bug.cgi?id=174530
+
+ Reviewed by Ryosuke Niwa.
+
+ Add `performance.mark()` around each test step to make analysis
+ simpler. Now each test step can be investigated via dev tools, ETW, etc.
+
+ * Speedometer/resources/benchmark-runner.js:
+ (BenchmarkRunner.prototype._writeMark):
+ (BenchmarkRunner.prototype._runTest):
+ (BenchmarkRunner.prototype._runTestAndRecordResults):
+
2017-07-14 Saam Barati <[email protected]>
Fix ambiguous description text in ARES-6 about the data the benchmark measures
Modified: trunk/PerformanceTests/Speedometer/resources/benchmark-runner.js (219639 => 219640)
--- trunk/PerformanceTests/Speedometer/resources/benchmark-runner.js 2017-07-18 23:19:57 UTC (rev 219639)
+++ trunk/PerformanceTests/Speedometer/resources/benchmark-runner.js 2017-07-18 23:22:46 UTC (rev 219640)
@@ -112,22 +112,32 @@
return promise;
}
+BenchmarkRunner.prototype._writeMark = function(name) {
+ if (window.performance && window.performance.mark)
+ window.performance.mark(name);
+}
+
// This function ought be as simple as possible. Don't even use SimplePromise.
-BenchmarkRunner.prototype._runTest = function(suite, testFunction, prepareReturnValue, callback)
+BenchmarkRunner.prototype._runTest = function(suite, test, prepareReturnValue, callback)
{
+ var self = this;
var now = window.performance && window.performance.now ? function () { return window.performance.now(); } : Date.now;
- var contentWindow = this._frame.contentWindow;
- var contentDocument = this._frame.contentDocument;
+ var contentWindow = self._frame.contentWindow;
+ var contentDocument = self._frame.contentDocument;
+ self._writeMark(`${suite.name}.${test.name}-start`);
var startTime = now();
- testFunction(prepareReturnValue, contentWindow, contentDocument);
+ test.run(prepareReturnValue, contentWindow, contentDocument);
var endTime = now();
+ self._writeMark(`${suite.name}.${test.name}-sync-end`);
+
var syncTime = endTime - startTime;
var startTime = now();
setTimeout(function () {
var endTime = now();
+ self._writeMark(`${suite.name}.${test.name}-async-end`);
callback(syncTime, endTime - startTime);
}, 0);
}
@@ -240,7 +250,7 @@
var self = this;
setTimeout(function () {
- self._runTest(suite, test.run, self._prepareReturnValue, function (syncTime, asyncTime) {
+ self._runTest(suite, test, self._prepareReturnValue, function (syncTime, asyncTime) {
var suiteResults = self._measuredValues.tests[suite.name] || {tests:{}, total: 0};
var total = syncTime + asyncTime;
self._measuredValues.tests[suite.name] = suiteResults;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes