Changeset 110933 in webkit


Ignore:
Timestamp:
Mar 15, 2012 8:13:28 PM (12 years ago)
Author:
haraken@chromium.org
Message:

[PerformanceTests] run-perf-tests should output correct units
https://bugs.webkit.org/show_bug.cgi?id=78303

Reviewed by Ryosuke Niwa.

Previously run-perf-tests just supported "ms" for units.
Consequently, Dromaeo perf tests had been reporting runs/s as "ms".
This patch fixes run-perf-tests so that they can support custom units.
The default unit is "ms".

The test result looks like this:

$ ./Tools/Scripts/run-perf-tests Dromaeo/dom-attr.html
RESULT Dromaeo: dom-attr= 6465.9525483 runs/s
median= 0.0 runs/s, stdev= 24.2983433436 runs/s, min= 6435.87649402 runs/s, max= 6515.63693392 runs/s

PerformanceTests:

  • Dromaeo/resources/dromaeorunner.js:

(.):

  • resources/runner.js:

(PerfTestRunner.computeStatistics):
(PerfTestRunner.printStatistics):

Tools:

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._process_parser_test_result):

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/PerformanceTests/ChangeLog

    r110862 r110933  
     12012-03-15  Kentaro Hara  <haraken@chromium.org>
     2
     3        [PerformanceTests] run-perf-tests should output correct units
     4        https://bugs.webkit.org/show_bug.cgi?id=78303
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        Previously run-perf-tests just supported "ms" for units.
     9        Consequently, Dromaeo perf tests had been reporting runs/s as "ms".
     10        This patch fixes run-perf-tests so that they can support custom units.
     11        The default unit is "ms".
     12
     13        The test result looks like this:
     14
     15        $ ./Tools/Scripts/run-perf-tests Dromaeo/dom-attr.html
     16        RESULT Dromaeo: dom-attr= 6465.9525483 runs/s
     17        median= 0.0 runs/s, stdev= 24.2983433436 runs/s, min= 6435.87649402 runs/s, max= 6515.63693392 runs/s
     18
     19        * Dromaeo/resources/dromaeorunner.js:
     20        (.):
     21        * resources/runner.js:
     22        (PerfTestRunner.computeStatistics):
     23        (PerfTestRunner.printStatistics):
     24
    1252012-03-15  Alexis Menard  <alexis.menard@openbossa.org>
    226
  • trunk/PerformanceTests/Dromaeo/resources/dromaeorunner.js

    r110746 r110933  
    1919                 min: min,
    2020                 max: max,
    21                  stdev: Math.sqrt(varsum)
     21                 stdev: Math.sqrt(varsum),
     22                 unit: "runs/s"
    2223             };
    2324         },
     
    3334                     DRT.targetWindow = iframe.contentDocument.defaultView;
    3435                 });
    35              
     36
    3637             window.addEventListener(
    3738                 "message",
  • trunk/PerformanceTests/resources/runner.js

    r110801 r110933  
    7676    result.variance = squareSum / data.length;
    7777    result.stdev = Math.sqrt(result.variance);
     78    result.unit = "ms";
    7879
    7980    return result;
     
    8889PerfTestRunner.printStatistics = function (statistics) {
    8990    this.log("");
    90     this.log("avg " + statistics.mean);
    91     this.log("median " + statistics.median);
    92     this.log("stdev " + statistics.stdev);
    93     this.log("min " + statistics.min);
    94     this.log("max " + statistics.max);
     91    this.log("avg " + statistics.mean + " " + statistics.unit);
     92    this.log("median " + statistics.median + " " + statistics.unit);
     93    this.log("stdev " + statistics.stdev + " " + statistics.unit);
     94    this.log("min " + statistics.min + " " + statistics.unit);
     95    this.log("max " + statistics.max + " " + statistics.unit);
    9596}
    9697
  • trunk/Tools/ChangeLog

    r110923 r110933  
     12012-03-15  Kentaro Hara  <haraken@chromium.org>
     2
     3        [PerformanceTests] run-perf-tests should output correct units
     4        https://bugs.webkit.org/show_bug.cgi?id=78303
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        Previously run-perf-tests just supported "ms" for units.
     9        Consequently, Dromaeo perf tests had been reporting runs/s as "ms".
     10        This patch fixes run-perf-tests so that they can support custom units.
     11        The default unit is "ms".
     12
     13        The test result looks like this:
     14
     15        $ ./Tools/Scripts/run-perf-tests Dromaeo/dom-attr.html
     16        RESULT Dromaeo: dom-attr= 6465.9525483 runs/s
     17        median= 0.0 runs/s, stdev= 24.2983433436 runs/s, min= 6435.87649402 runs/s, max= 6515.63693392 runs/s
     18
     19        * Scripts/webkitpy/performance_tests/perftestsrunner.py:
     20        (PerfTestsRunner._process_parser_test_result):
     21
    1222012-03-15  Brent Fulgham  <bfulgham@webkit.org>
    223
  • trunk/Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py

    r110382 r110933  
    285285        results = {}
    286286        keys = ['avg', 'median', 'stdev', 'min', 'max']
    287         score_regex = re.compile(r'^(' + r'|'.join(keys) + r')\s+([0-9\.]+)')
     287        score_regex = re.compile(r'^(?P<key>' + r'|'.join(keys) + r')\s+(?P<value>[0-9\.]+)\s*(?P<unit>.*)')
     288        unit = "ms"
    288289        for line in re.split('\n', output.text):
    289290            score = score_regex.match(line)
    290291            if score:
    291                 results[score.group(1)] = float(score.group(2))
     292                results[score.group('key')] = float(score.group('value'))
     293                if score.group('unit'):
     294                    unit = score.group('unit')
    292295                continue
    293296
     
    299302            return True
    300303        self._results[filesystem.join(category, test_name).replace('\\', '/')] = results
    301         self._buildbot_output.write('RESULT %s: %s= %s ms\n' % (category, test_name, results['avg']))
    302         self._buildbot_output.write(', '.join(['%s= %s ms' % (key, results[key]) for key in keys[1:]]) + '\n')
     304        self._buildbot_output.write('RESULT %s: %s= %s %s\n' % (category, test_name, results['avg'], unit))
     305        self._buildbot_output.write(', '.join(['%s= %s %s' % (key, results[key], unit) for key in keys[1:]]) + '\n')
    303306        return False
    304307
Note: See TracChangeset for help on using the changeset viewer.