Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(67)

Side by Side Diff: tools/perf/benchmarks/speedometer.py

Issue 385943006: Update speedometer to use results.AddValue() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """Apple's Speedometer performance benchmark. 5 """Apple's Speedometer performance benchmark.
6 6
7 Speedometer measures simulated user interactions in web applications. 7 Speedometer measures simulated user interactions in web applications.
8 8
9 The current benchmark uses TodoMVC to simulate user actions for adding, 9 The current benchmark uses TodoMVC to simulate user actions for adding,
10 completing, and removing to-do items. Speedometer repeats the same actions using 10 completing, and removing to-do items. Speedometer repeats the same actions using
11 DOM APIs - a core set of web platform APIs used extensively in web applications- 11 DOM APIs - a core set of web platform APIs used extensively in web applications-
12 as well as six popular JavaScript frameworks: Ember.js, Backbone.js, jQuery, 12 as well as six popular JavaScript frameworks: Ember.js, Backbone.js, jQuery,
13 AngularJS, React, and Flight. Many of these frameworks are used on the most 13 AngularJS, React, and Flight. Many of these frameworks are used on the most
14 popular websites in the world, such as Facebook and Twitter. The performance of 14 popular websites in the world, such as Facebook and Twitter. The performance of
15 these types of operations depends on the speed of the DOM APIs, the JavaScript 15 these types of operations depends on the speed of the DOM APIs, the JavaScript
16 engine, CSS style resolution, layout, and other technologies. 16 engine, CSS style resolution, layout, and other technologies.
17 """ 17 """
18 18
19 import os 19 import os
20 20
21 from telemetry import benchmark 21 from telemetry import benchmark
22 from telemetry.page import page_measurement 22 from telemetry.page import page_measurement
23 from telemetry.page import page_set 23 from telemetry.page import page_set
24 from telemetry.value import list_of_scalar_values
24 25
25 26
26 class SpeedometerMeasurement(page_measurement.PageMeasurement): 27 class SpeedometerMeasurement(page_measurement.PageMeasurement):
27 28
28 def MeasurePage(self, _, tab, results): 29 def MeasurePage(self, page, tab, results):
29 tab.WaitForDocumentReadyStateToBeComplete() 30 tab.WaitForDocumentReadyStateToBeComplete()
30 tab.ExecuteJavaScript('benchmarkClient.iterationCount = 10; startTest();') 31 tab.ExecuteJavaScript('benchmarkClient.iterationCount = 10; startTest();')
31 tab.WaitForJavaScriptExpression( 32 tab.WaitForJavaScriptExpression(
32 'benchmarkClient._finishedTestCount == benchmarkClient.testsCount', 600) 33 'benchmarkClient._finishedTestCount == benchmarkClient.testsCount', 600)
33 results.Add( 34 results.AddValue(list_of_scalar_values.ListOfScalarValues(
34 'Total', 'ms', tab.EvaluateJavaScript('benchmarkClient._timeValues')) 35 page, 'Total', 'ms',
36 tab.EvaluateJavaScript('benchmarkClient._timeValues')))
35 37
36 38
37 @benchmark.Disabled('android') # Times out 39 @benchmark.Disabled('android') # Times out
38 class Speedometer(benchmark.Benchmark): 40 class Speedometer(benchmark.Benchmark):
39 test = SpeedometerMeasurement 41 test = SpeedometerMeasurement
40 42
41 def CreatePageSet(self, options): 43 def CreatePageSet(self, options):
42 ps = page_set.PageSet( 44 ps = page_set.PageSet(
43 file_path=os.path.abspath(__file__), 45 file_path=os.path.abspath(__file__),
44 archive_data_file='../page_sets/data/speedometer.json', 46 archive_data_file='../page_sets/data/speedometer.json',
45 make_javascript_deterministic=False) 47 make_javascript_deterministic=False)
46 ps.AddPageWithDefaultRunNavigate('http://browserbench.org/Speedometer/') 48 ps.AddPageWithDefaultRunNavigate('http://browserbench.org/Speedometer/')
47 return ps 49 return ps
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698