Bug 1438291 - add ares-6 benchmark to talos. r=rwood

This commit is contained in:
Joel Maher 2018-02-15 13:02:43 -05:00
parent 01ebc53d70
commit 71428ed6cf
7 changed files with 43 additions and 7 deletions

View File

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

View File

@ -255,6 +255,14 @@ class Output(object):
score = 60 * 1000 / filter.geometric_mean(results) / correctionFactor
return score
@classmethod
def ares6_score(cls, val_list):
"""
ares6_score: reported as 'geomean'
"""
results = [i for i, j in val_list if j == 'geomean']
return filter.mean(results)
@classmethod
def stylebench_score(cls, val_list):
"""
@ -279,6 +287,8 @@ class Output(object):
return self.v8_Metric(vals)
elif testname.startswith('kraken'):
return self.JS_Metric(vals)
elif testname.startswith('ares6'):
return self.ares6_score(vals)
elif testname.startswith('speedometer'):
return self.speedometer_score(vals)
elif testname.startswith('stylebench'):

View File

@ -815,6 +815,13 @@ class motionmark_animometer(WebkitBenchmark):
tpmanifest = '${talos}/tests/motionmark/animometer.manifest'
@register_test()
class ARES6(WebkitBenchmark):
# ARES-6 benchmark used by many browser vendors (from webkit)
tpmanifest = '${talos}/tests/ares6/ares6.manifest'
tppagecycles = 1
@register_test()
class motionmark_htmlsuite(WebkitBenchmark):
# MotionMark benchmark used by many browser vendors (from webkit)

View File

@ -0,0 +1 @@
% http://localhost/tests/webkit/PerformanceTests/ARES-6/index.html?gecko

View File

@ -34,6 +34,8 @@ class Driver {
this._magicCell = magicCell;
this._summary = new Stats(summaryCell, "summary");
this._key = key;
this._values = [];
this._names = [];
if (isInBrowser)
window[key] = this;
}
@ -116,9 +118,15 @@ class Driver {
}
let statses = [];
for (let results of this._benchmarks.values()) {
for (let subResult of Results.subResults)
for (let [benchmark, results] of this._benchmarks) {
for (let subResult of Results.subResults) {
statses.push(results[subResult]);
let val = results[subResult].valueForIteration(results[subResult].numIterations - 1);
if (val > 0 && benchmark.name == this._benchmark.name) {
this._values.push(val);
this._names.push(benchmark.name + "_" + subResult);
}
}
}
let numIterations = Math.min(...statses.map(stats => stats.numIterations));
@ -130,12 +138,17 @@ class Driver {
for (let i = 0; i < data.length; ++i)
data[i].add(stats.valueForIteration(i));
}
let geomeans = data.map(geomean => geomean.result);
if (geomeans.length == this._startIterations) {
for (let iter = 0; iter < geomeans.length; iter++) {
this._values.push(geomeans[iter]);
this._names.push("geomean");
}
}
this._summary.reset(...geomeans);
}
_iterate()
{
this._benchmark = this._iterator ? this._iterator.next().value : null;
@ -144,6 +157,8 @@ class Driver {
if (isInBrowser) {
this._statusCell.innerHTML = "Restart";
this.readyTrigger();
if (typeof tpRecordTime !== "undefined")
tpRecordTime(this._values.join(','), 0, this._names.join(','));
} else
print("Success! Benchmark is now finished.");
return;

View File

@ -52,3 +52,7 @@ driver.addBenchmark(BasicBenchmarkRunner);
driver.addBenchmark(BabylonBenchmarkRunner);
driver.addBenchmark(MLBenchmarkRunner);
driver.readyTrigger();
if (location.search == '?gecko') {
driver.start(6);
}

View File

@ -16,7 +16,6 @@
<script src="driver.js"></script>
<script src="results.js"></script>
<script src="stats.js"></script>
<div class="swoop">&nbsp;</div>
<header>