This repository has been archived by the owner on Aug 4, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bug 1481037 - Update StyleBench. r=jmaher
Pick upstream changes. Differential Revision: https://phabricator.services.mozilla.com/D2757
- Loading branch information
Showing
13 changed files
with
1,309 additions
and
64 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
13 changes: 13 additions & 0 deletions
13
third_party/webkit/PerformanceTests/StyleBench/README_MOZILLA
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
The source from this directory was copied from the | ||
PerformanceTests/StyleBench directory of the Webkit repository | ||
at: https://svn.webkit.org/repository/webkit/trunk | ||
|
||
The SVN revision used was: 234578 | ||
|
||
The contents of this directory are intended for use to "train" the | ||
profile guided optimization (PGO) of Firefox and for benchmarking | ||
scenarios. The files inside this directory are not intended to ship | ||
with Firefox or any other product. If files inside this directory | ||
are useful for other purposes (e.g. JavaScript libraries), consumers | ||
should vendor those files separately, as it is not appropriate to pull | ||
in components of StyleBench for use outside of StyleBench. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
113 changes: 113 additions & 0 deletions
113
third_party/webkit/PerformanceTests/StyleBench/mozilla.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
diff --git a/third_party/webkit/PerformanceTests/StyleBench/index.html b/third_party/webkit/PerformanceTests/StyleBench/index.html | ||
index c77554dc3506..2a561a9cbb54 100644 | ||
--- a/third_party/webkit/PerformanceTests/StyleBench/index.html | ||
+++ b/third_party/webkit/PerformanceTests/StyleBench/index.html | ||
@@ -5,16 +5,22 @@ | ||
<title>StyleBench 0.3</title> | ||
<link rel="stylesheet" href="resources/main.css"> | ||
<script src="resources/main.js" defer></script> | ||
<script src="resources/benchmark-runner.js" defer></script> | ||
<script src="resources/benchmark-report.js" defer></script> | ||
<script src="../resources/statistics.js" defer></script> | ||
<script src="resources/style-bench.js" defer></script> | ||
<script src="resources/tests.js" defer></script> | ||
+ <script> | ||
+ addEventListener('load', () => { | ||
+ if (location.search == '?gecko' || location.search == '?raptor') | ||
+ startTest(); | ||
+ }); | ||
+ </script> | ||
</head> | ||
<body> | ||
<main> | ||
<a id="logo-link" href="javascript:showHome()"></a> | ||
|
||
<section id="home" class="selected"> | ||
<p> | ||
StyleBench is a browser benchmark that measures the performance of the style resolution mechanism. | ||
diff --git a/third_party/webkit/PerformanceTests/StyleBench/resources/benchmark-report.js b/third_party/webkit/PerformanceTests/StyleBench/resources/benchmark-report.js | ||
index b33021d9d9ce..58b3e46982d1 100644 | ||
--- a/third_party/webkit/PerformanceTests/StyleBench/resources/benchmark-report.js | ||
+++ b/third_party/webkit/PerformanceTests/StyleBench/resources/benchmark-report.js | ||
@@ -1,12 +1,13 @@ | ||
// This file can be customized to report results as needed. | ||
|
||
(function () { | ||
- if (!window.testRunner && location.search != '?webkit' && location.hash != '#webkit') | ||
+ if (!window.testRunner && location.search != '?webkit' && location.hash != '#webkit' && | ||
+ location.search != '?gecko' && location.search != '?raptor') | ||
return; | ||
|
||
if (window.testRunner) | ||
testRunner.waitUntilDone(); | ||
|
||
var scriptElement = document.createElement('script'); | ||
scriptElement.src = '../resources/runner.js'; | ||
document.head.appendChild(scriptElement); | ||
@@ -31,20 +32,22 @@ | ||
customIterationCount: iterationCount, | ||
doNotIgnoreInitialRun: true, | ||
doNotMeasureMemoryUsage: true, | ||
continueTesting: !isLastTest, | ||
unit: unit, | ||
name: name, | ||
aggregator: aggregator}; | ||
} | ||
- PerfTestRunner.prepareToMeasureValuesAsync(createTest(null, 'Geometric')); | ||
+ if (window.PerfTestRunner) | ||
+ PerfTestRunner.prepareToMeasureValuesAsync(createTest(null, 'Geometric')); | ||
}, | ||
didRunSuites: function (measuredValues) { | ||
- PerfTestRunner.measureValueAsync(measuredValues.geomean); | ||
+ if (window.PerfTestRunner) | ||
+ PerfTestRunner.measureValueAsync(measuredValues.geomean); | ||
valuesByIteration.push(measuredValues); | ||
}, | ||
didFinishLastIteration: function () { | ||
document.head.removeChild(document.querySelector('style')); | ||
|
||
var measuredValuesByFullName = {}; | ||
function addToMeasuredValue(value, fullName, aggregator) { | ||
var values = measuredValuesByFullName[fullName] || new Array; | ||
@@ -63,21 +66,37 @@ | ||
for (var subtestName in test.tests) | ||
addToMeasuredValue(test.tests[subtestName], suiteName + '/' + testName + '/' + subtestName); | ||
addToMeasuredValue(test.total, suiteName + '/' + testName, 'Total'); | ||
} | ||
addToMeasuredValue(suite.total, suiteName, 'Total'); | ||
} | ||
}); | ||
|
||
- PerfTestRunner.reportValues(createTest(null, null, false, 'pt'), scores); | ||
+ if (window.PerfTestRunner) | ||
+ PerfTestRunner.reportValues(createTest(null, null, false, 'pt'), scores); | ||
|
||
var fullNames = new Array; | ||
for (var fullName in measuredValuesByFullName) | ||
fullNames.push(fullName); | ||
|
||
- for (var i = 0; i < fullNames.length; i++) { | ||
- var values = measuredValuesByFullName[fullNames[i]]; | ||
- PerfTestRunner.reportValues(createTest(fullNames[i], values.aggregator, i + 1 == fullNames.length), values); | ||
+ if (location.search == '?raptor') { | ||
+ var data = ['raptor-benchmark', 'speedometer', measuredValuesByFullName]; | ||
+ window.postMessage(data, '*'); | ||
+ } else if (typeof tpRecordTime !== "undefined") { | ||
+ var values = new Array; | ||
+ var allNames = new Array; | ||
+ for (var i = 0; i < fullNames.length; i++) { | ||
+ var vals = measuredValuesByFullName[fullNames[i]]; | ||
+ values.push(vals); | ||
+ for (var count = 0; count < vals.length; count ++) | ||
+ allNames.push(fullNames[i]); | ||
+ } | ||
+ tpRecordTime(values.join(','), 0, allNames.join(',')); | ||
+ } else if (window.PerfTestRunner) { | ||
+ for (var i = 0; i < fullNames.length; i++) { | ||
+ var values = measuredValuesByFullName[fullNames[i]]; | ||
+ PerfTestRunner.reportValues(createTest(fullNames[i], values.aggregator, i + 1 == fullNames.length), values); | ||
+ } | ||
} | ||
} | ||
}; | ||
})(); |
102 changes: 102 additions & 0 deletions
102
third_party/webkit/PerformanceTests/StyleBench/resources/benchmark-report.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
// This file can be customized to report results as needed. | ||
|
||
(function () { | ||
if (!window.testRunner && location.search != '?webkit' && location.hash != '#webkit' && | ||
location.search != '?gecko' && location.search != '?raptor') | ||
return; | ||
|
||
if (window.testRunner) | ||
testRunner.waitUntilDone(); | ||
|
||
var scriptElement = document.createElement('script'); | ||
scriptElement.src = '../resources/runner.js'; | ||
document.head.appendChild(scriptElement); | ||
|
||
var styleElement = document.createElement('style'); | ||
styleElement.textContent = 'pre { padding-top: 600px; }'; | ||
document.head.appendChild(styleElement); | ||
|
||
var createTest; | ||
var valuesByIteration = new Array; | ||
|
||
window.onload = function () { | ||
document.body.removeChild(document.querySelector('main')); | ||
startBenchmark(); | ||
} | ||
|
||
window.benchmarkClient = { | ||
iterationCount: 5, // Use 4 different instances of DRT/WTR to run 5 iterations. | ||
willStartFirstIteration: function (iterationCount) { | ||
createTest = function (name, aggregator, isLastTest, unit = 'ms') { | ||
return { | ||
customIterationCount: iterationCount, | ||
doNotIgnoreInitialRun: true, | ||
doNotMeasureMemoryUsage: true, | ||
continueTesting: !isLastTest, | ||
unit: unit, | ||
name: name, | ||
aggregator: aggregator}; | ||
} | ||
if (window.PerfTestRunner) | ||
PerfTestRunner.prepareToMeasureValuesAsync(createTest(null, 'Geometric')); | ||
}, | ||
didRunSuites: function (measuredValues) { | ||
if (window.PerfTestRunner) | ||
PerfTestRunner.measureValueAsync(measuredValues.geomean); | ||
valuesByIteration.push(measuredValues); | ||
}, | ||
didFinishLastIteration: function () { | ||
document.head.removeChild(document.querySelector('style')); | ||
|
||
var measuredValuesByFullName = {}; | ||
function addToMeasuredValue(value, fullName, aggregator) { | ||
var values = measuredValuesByFullName[fullName] || new Array; | ||
measuredValuesByFullName[fullName] = values; | ||
values.push(value); | ||
values.aggregator = aggregator; | ||
} | ||
|
||
var scores = []; | ||
valuesByIteration.forEach(function (measuredValues) { | ||
scores.push(measuredValues.score); | ||
for (var suiteName in measuredValues.tests) { | ||
var suite = measuredValues.tests[suiteName]; | ||
for (var testName in suite.tests) { | ||
var test = suite.tests[testName]; | ||
for (var subtestName in test.tests) | ||
addToMeasuredValue(test.tests[subtestName], suiteName + '/' + testName + '/' + subtestName); | ||
addToMeasuredValue(test.total, suiteName + '/' + testName, 'Total'); | ||
} | ||
addToMeasuredValue(suite.total, suiteName, 'Total'); | ||
} | ||
}); | ||
|
||
if (window.PerfTestRunner) | ||
PerfTestRunner.reportValues(createTest(null, null, false, 'pt'), scores); | ||
|
||
var fullNames = new Array; | ||
for (var fullName in measuredValuesByFullName) | ||
fullNames.push(fullName); | ||
|
||
if (location.search == '?raptor') { | ||
var data = ['raptor-benchmark', 'speedometer', measuredValuesByFullName]; | ||
window.postMessage(data, '*'); | ||
} else if (typeof tpRecordTime !== "undefined") { | ||
var values = new Array; | ||
var allNames = new Array; | ||
for (var i = 0; i < fullNames.length; i++) { | ||
var vals = measuredValuesByFullName[fullNames[i]]; | ||
values.push(vals); | ||
for (var count = 0; count < vals.length; count ++) | ||
allNames.push(fullNames[i]); | ||
} | ||
tpRecordTime(values.join(','), 0, allNames.join(',')); | ||
} else if (window.PerfTestRunner) { | ||
for (var i = 0; i < fullNames.length; i++) { | ||
var values = measuredValuesByFullName[fullNames[i]]; | ||
PerfTestRunner.reportValues(createTest(fullNames[i], values.aggregator, i + 1 == fullNames.length), values); | ||
} | ||
} | ||
} | ||
}; | ||
})(); |
Oops, something went wrong.