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

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

Issue 714273004: mac: Expose keychain access frequency to Telemetry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mock_keychain_sleep
Patch Set: Add a common subclass to measurements. Created 6 years, 1 month 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
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 measurements import PageTestMeasurement
21 from telemetry import benchmark 22 from telemetry import benchmark
22 from telemetry.page import page_set 23 from telemetry.page import page_set
23 from telemetry.page import page_test
24 from telemetry.value import list_of_scalar_values 24 from telemetry.value import list_of_scalar_values
25 25
26 26
27 class SpeedometerMeasurement(page_test.PageTest): 27 class SpeedometerMeasurement(PageTestMeasurement):
28 enabled_suites = [ 28 enabled_suites = [
29 'VanillaJS-TodoMVC', 29 'VanillaJS-TodoMVC',
30 'EmberJS-TodoMVC', 30 'EmberJS-TodoMVC',
31 'BackboneJS-TodoMVC', 31 'BackboneJS-TodoMVC',
32 'jQuery-TodoMVC', 32 'jQuery-TodoMVC',
33 'AngularJS-TodoMVC', 33 'AngularJS-TodoMVC',
34 'React-TodoMVC', 34 'React-TodoMVC',
35 'FlightJS-TodoMVC' 35 'FlightJS-TodoMVC'
36 ] 36 ]
37 37
(...skipping 26 matching lines...) Expand all
64 results.AddValue(list_of_scalar_values.ListOfScalarValues( 64 results.AddValue(list_of_scalar_values.ListOfScalarValues(
65 page, suite_name, 'ms', 65 page, suite_name, 'ms',
66 tab.EvaluateJavaScript(""" 66 tab.EvaluateJavaScript("""
67 var suite_times = []; 67 var suite_times = [];
68 for(var i = 0; i < benchmarkClient.iterationCount; i++) { 68 for(var i = 0; i < benchmarkClient.iterationCount; i++) {
69 suite_times.push( 69 suite_times.push(
70 benchmarkClient._measuredValues[i].tests['%s'].total); 70 benchmarkClient._measuredValues[i].tests['%s'].total);
71 }; 71 };
72 suite_times; 72 suite_times;
73 """ % suite_name), important=False)) 73 """ % suite_name), important=False))
74 super(SpeedometerMeasurement, self).ValidateAndMeasurePage(
75 page, tab, results)
74 76
75 class Speedometer(benchmark.Benchmark): 77 class Speedometer(benchmark.Benchmark):
76 test = SpeedometerMeasurement 78 test = SpeedometerMeasurement
77 79
78 def CreatePageSet(self, options): 80 def CreatePageSet(self, options):
79 ps = page_set.PageSet( 81 ps = page_set.PageSet(
80 file_path=os.path.abspath(__file__), 82 file_path=os.path.abspath(__file__),
81 archive_data_file='../page_sets/data/speedometer.json', 83 archive_data_file='../page_sets/data/speedometer.json',
82 make_javascript_deterministic=False) 84 make_javascript_deterministic=False)
83 ps.AddPageWithDefaultRunNavigate('http://browserbench.org/Speedometer/') 85 ps.AddPageWithDefaultRunNavigate('http://browserbench.org/Speedometer/')
84 return ps 86 return ps
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698