Bug 1438292 - add JetStream benchmark to talos. r=rwood

This commit is contained in:
Joel Maher 2018-02-15 16:18:03 -05:00
parent d681d25fe0
commit 86bb036ec8
5 changed files with 33 additions and 6 deletions

View File

@ -66,7 +66,7 @@
"pagesets_name": "tp5n.zip"
},
"motionmark-e10s": {
"tests": ["motionmark_animometer", "motionmark_htmlsuite", "ARES6"]
"tests": ["motionmark_animometer", "motionmark_htmlsuite", "ARES6", "JetStream"]
},
"svgr-e10s": {
"tests": ["tsvgx", "tsvgr_opacity", "tart", "tscrollx", "tsvg_static"]

View File

@ -256,9 +256,9 @@ class Output(object):
return score
@classmethod
def ares6_score(cls, val_list):
def benchmark_score(cls, val_list):
"""
ares6_score: reported as 'geomean'
benchmark_score: ares6/jetstream self reported as 'geomean'
"""
results = [i for i, j in val_list if j == 'geomean']
return filter.mean(results)
@ -288,7 +288,9 @@ class Output(object):
elif testname.startswith('kraken'):
return self.JS_Metric(vals)
elif testname.startswith('ares6'):
return self.ares6_score(vals)
return self.benchmark_score(vals)
elif testname.startswith('jetstream'):
return self.benchmark_score(vals)
elif testname.startswith('speedometer'):
return self.speedometer_score(vals)
elif testname.startswith('stylebench'):

View File

@ -828,6 +828,13 @@ class motionmark_htmlsuite(WebkitBenchmark):
tpmanifest = '${talos}/tests/motionmark/htmlsuite.manifest'
@register_test()
class JetStream(WebkitBenchmark):
# JetStream benchmark used by many browser vendors (from webkit)
tpmanifest = '${talos}/tests/jetstream/jetstream.manifest'
tppagecycles = 1
@register_test()
class perf_reftest(PageloaderTest):
"""

View File

@ -0,0 +1 @@
% http://localhost/tests/webkit/PerformanceTests/JetStream/JetStream-1.1/index.html?gecko#long

View File

@ -351,6 +351,10 @@ var JetStream = (function() {
initializeWithModeBasedOnHash();
window.onpopstate = initializeWithModeBasedOnHash;
if (location.search == '?gecko') {
JetStream.start();
}
}
function switchMode(mode)
@ -451,13 +455,26 @@ var JetStream = (function() {
function end()
{
console.log("Raw results:", JSON.stringify(computeRawResults()));
raw_results = computeRawResults();
console.log("Raw results:", JSON.stringify(raw_results));
document.getElementById("result-summary").innerHTML = "<label>Score</label><br><span class=\"score\">" + formatGeomean(allSelector) + "</span>";
isRunning = false;
hasAlreadyRun = true;
prepareToStart();
if (tpRecordTime !== "undefined") {
let names = [];
let values = [];
for (var test in raw_results) {
for (var item in raw_results[test]['result']) {
names.push(test);
values.push(raw_results[test]['result'][item]);
}
}
tpRecordTime(values.join(','), 0, names.join(','));
}
}
function iterate()
@ -511,7 +528,7 @@ var JetStream = (function() {
for (var i = plan.benchmarks.length; i--;) {
var benchmark = plan.benchmarks[i];
benchmark.times.push(arguments[i]);
benchmark.results.push(100 * benchmark.reference / arguments[i]);
benchmark.results.push(100 * benchmark.reference / arguments[i]);
displayResultMessage(
benchmark.name,
formatResult(benchmark.results, plan.benchmarks[i]),