Changeset 228361 in webkit


Ignore:
Timestamp:
Feb 9, 2018 10:14:52 PM (6 years ago)
Author:
rniwa@webkit.org
Message:

Make run-perf-tests work with Speedometer 2.0 and re-enable the test
https://bugs.webkit.org/show_bug.cgi?id=182088

Reviewed by Antti Koivisto.

This patch updates the test harness to report new metrics of Speedometer 2.0.

Replaced the total time by the geometric mean of the time spent in each suite, and added scores
as a metric in addition to time. Also, updated the PerfTestRunner harness and the results template
to support "Score" metric with "pt" as its unit.

  • Skipped: Unskipped the test.
  • Speedometer/resources/benchmark-report.js:

(window.benchmarkClient.willStartFirstIteration..createTest): Added the unit as an optional argument
to report the score in addition to time. Also report the geomean of time instead of the total time.
(window.benchmarkClient.willStartFirstIteration): Report the geomean of time.
(window.benchmarkClient.didRunSuites): Record the entire measuredValues instead of just tests.
(window.benchmarkClient.didFinishLastIteration): Report the scores.

Location:
trunk/PerformanceTests
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/PerformanceTests/ChangeLog

    r228330 r228361  
     12018-02-09  Ryosuke Niwa  <rniwa@webkit.org>
     2
     3        Make run-perf-tests work with Speedometer 2.0 and re-enable the test
     4        https://bugs.webkit.org/show_bug.cgi?id=182088
     5
     6        Reviewed by Antti Koivisto.
     7
     8        This patch updates the test harness to report new metrics of Speedometer 2.0.
     9
     10        Replaced the total time by the geometric mean of the time spent in each suite, and added scores
     11        as a metric in addition to time. Also, updated the PerfTestRunner harness and the results template
     12        to support "Score" metric with "pt" as its unit.
     13
     14        * Skipped: Unskipped the test.
     15        * Speedometer/resources/benchmark-report.js:
     16        (window.benchmarkClient.willStartFirstIteration..createTest): Added the unit as an optional argument
     17        to report the score in addition to time. Also report the geomean of time instead of the total time.
     18        (window.benchmarkClient.willStartFirstIteration): Report the geomean of time.
     19        (window.benchmarkClient.didRunSuites): Record the entire measuredValues instead of just tests.
     20        (window.benchmarkClient.didFinishLastIteration): Report the scores.
     21
    1222018-02-09  Ross Kirsling  <ross.kirsling@sony.com>
    223
  • trunk/PerformanceTests/Skipped

    r227946 r228361  
    8383
    8484# Don't run the interactive runner. We run index.html
    85 Speedometer/index.html
    8685Speedometer/InteractiveRunner.html
    8786StyleBench/InteractiveRunner.html
  • trunk/PerformanceTests/Speedometer/resources/benchmark-report.js

    r169540 r228361  
    2727        iterationCount: 5, // Use 4 different instances of DRT/WTR to run 5 iterations.
    2828        willStartFirstIteration: function (iterationCount) {
    29             createTest = function (name, aggregator, isLastTest) {
     29            createTest = function (name, aggregator, isLastTest, unit = 'ms') {
    3030                return {
    3131                    customIterationCount: iterationCount,
     
    3333                    doNotMeasureMemoryUsage: true,
    3434                    continueTesting: !isLastTest,
    35                     unit: 'ms',
     35                    unit: unit,
    3636                    name: name,
    3737                    aggregator: aggregator};
    3838            }
    39             PerfTestRunner.prepareToMeasureValuesAsync(createTest(null, 'Total'));
     39            PerfTestRunner.prepareToMeasureValuesAsync(createTest(null, 'Geometric'));
    4040        },
    4141        didRunSuites: function (measuredValues) {
    42             PerfTestRunner.measureValueAsync(measuredValues.total);
    43             valuesByIteration.push(measuredValues.tests);
     42            PerfTestRunner.measureValueAsync(measuredValues.geomean);
     43            valuesByIteration.push(measuredValues);
    4444        },
    4545        didFinishLastIteration: function () {
     
    5454            }
    5555
     56            var scores = [];
    5657            valuesByIteration.forEach(function (measuredValues) {
    57                 for (var suiteName in measuredValues) {
    58                     var suite = measuredValues[suiteName];
     58                scores.push(measuredValues.score);
     59                for (var suiteName in measuredValues.tests) {
     60                    var suite = measuredValues.tests[suiteName];
    5961                    for (var testName in suite.tests) {
    6062                        var test = suite.tests[testName];
     
    6668                }
    6769            });
     70
     71            PerfTestRunner.reportValues(createTest(null, null, false, 'pt'), scores);
    6872
    6973            var fullNames = new Array;
Note: See TracChangeset for help on using the changeset viewer.