summaryrefslogtreecommitdiffstats
path: root/tools/perf/test-info.json
blob: 1d64b53f97d3318a8882ae3ac9f2625cd7f75508 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
{
  "_description": "This file contains info about our performance test suites, used by the perf dashboard (http://chromeperf.appspot.com).",
  "blink_perf": {
    "description": "Runs all enabled benchmarks in third_party/WebKit/PerformanceTests/",
    "code": [
      "chrome/src/tools/perf/measurements/blink_perf.py",
      "third_party/WebKit/PerformanceTests/"
    ]
  },
  "bloat": {
    "description": "Load an image many times and ensure memory usage stays low.",
    "code": [
      "chrome/src/tools/perf/page_sets/page_cycler/bloat.json",
      "chrome/src/tools/perf/measurements/page_cycler.py"
    ]
  },
  "cc_perftests": {
    "description": "Microbenchmarks for compositor (cc/) component.",
    "code": [
      "chrome/src/cc/cc_tests.gyp",
      "chrome/src/cc/trees/layer_tree_host_perftest.cc"
    ]
  },
  "dhtml": {
    "description": "Benchmarks for various DHTML operations like simple animations.",
    "code": [
      "chrome/src/tools/perf/page_sets/page_cycler/dhtml.json",
      "chrome/src/tools/perf/measurements/page_cycler.py"
    ]
  },
  "dom_perf": {
    "description": "Performance of DOM operations.",
    "code": ["chrome/src/tools/perf/benchmarks/dom_perf.py"]
  },
  "dromaeo_domcoreattr": {
    "description": "Setting and getting DOM node attributes.",
    "code": [
      "chrome/src/tools/perf/page_sets/dromaeo/domcoreattr.json",
      "chrome/src/tools/perf/measurements/dromaeo.py"
    ]
  },
  "dromaeo_domcoremodify": {
    "description": "Creating and injecting DOM nodes.",
    "code": [
      "chrome/src/tools/perf/page_sets/dromaeo/domcoremodify.json",
      "chrome/src/tools/perf/measurements/dromaeo.py"
    ]
  },
  "dromaeo_domcorequery": {
    "description": "Querying DOM elements in a document.",
    "code": [
      "chrome/src/tools/perf/page_sets/dromaeo/domcorequery.json",
      "chrome/src/tools/perf/measurements/dromaeo.py"
    ]
  },
  "dromaeo_domcoretraverse": {
    "description": "Traversing a DOM structure.",
    "code": [
      "chrome/src/tools/perf/page_sets/dromaeo/domcoretraverse.json",
      "chrome/src/tools/perf/measurements/dromaeo.py"
    ]
  },
  "dromaeo_jslibattrjquery": {
    "description": "Setting and getting DOM node attributes using the jQuery JavaScript Library.",
    "code": [
      "chrome/src/tools/perf/page_sets/dromaeo/jslibattrjquery.json",
      "chrome/src/tools/perf/measurements/dromaeo.py"
    ]
  },
  "dromaeo_jslibattrprototype": {
    "description": "Setting and getting DOM node attributes using the Prototype JavaScript Library.",
    "code": [
      "chrome/src/tools/perf/page_sets/dromaeo/jslibattrprototype.json",
      "chrome/src/tools/perf/measurements/dromaeo.py"
    ]
  },
  "dromaeo_jslibeventjquery": {
    "description": "Binding, removing, and triggering DOM events using the jQuery JavaScript Library.",
    "code": [
      "chrome/src/tools/perf/page_sets/dromaeo/jslibattrprototype.json",
      "chrome/src/tools/perf/measurements/dromaeo.py"
    ]
  },
  "dromaeo_jslibeventprototype": {
    "description": "Binding, removing, and triggering DOM events using the Prototype JavaScript Library.",
    "code": [
      "chrome/src/tools/perf/page_sets/dromaeo/jslibeventprototype.json",
      "chrome/src/tools/perf/measurements/dromaeo.py"
    ]
  },
  "dromaeo_jslibmodifyjquery": {
    "description": "Creating and injecting DOM nodes into a document using the jQuery JavaScript Library",
    "code": [
      "chrome/src/tools/perf/page_sets/dromaeo/jslibmodifyjquery.json",
      "chrome/src/tools/perf/measurements/dromaeo.py"
    ]
  },
  "dromaeo_jslibmodifyprototype": {
    "description": "Creating and injecting DOM nodes into a document using the Prototype JavaScript Library.",
    "code": [
      "chrome/src/tools/perf/page_sets/dromaeo/jslibmodifyprototype.json",
      "chrome/src/tools/perf/measurements/dromaeo.py"
    ]
  },
  "dromaeo_jslibstylejquery": {
    "description": "Getting and setting CSS information on DOM elements using the jQuery JavaScript Library.",
    "code": [
      "chrome/src/tools/perf/page_sets/dromaeo/jslibstylejquery.json",
      "chrome/src/tools/perf/measurements/dromaeo.py"
    ]
  },
  "dromaeo_jslibstyleprototype": {
    "description": "Getting and setting CSS information on DOM elements using the Prototype JavaScript Library.",
    "code": [
      "chrome/src/tools/perf/page_sets/dromaeo/jslibstyleprototype.json",
      "chrome/src/tools/perf/measurements/dromaeo.py"
    ]
  },
  "dromaeo_jslibtraversejquery": {
    "description": "Traversing a DOM structure using the jQuery JavaScript Library.",
    "code": [
      "chrome/src/tools/perf/page_sets/dromaeo/jslibtraversejquery.json",
      "chrome/src/tools/perf/measurements/dromaeo.py"
    ]
  },
  "dromaeo_jslibtraverseprototype": {
    "description": "Traversing a DOM structure using the Prototype JavaScript Library.",
    "code": [
      "chrome/src/tools/perf/page_sets/dromaeo/jslibtraverseprototype.json",
      "chrome/src/tools/perf/measurements/dromaeo.py"
    ]
  },
  "idb_perf": {
    "description": "Benchmarks for a variety of IndexedDB operations.",
    "code": [
      "chrome/src/chrome/test/perf/indexeddb_uitest.cc",
      "chrome/src/chrome/test/data/indexeddb/perf_test.html"
    ]
  },
  "image_decoding_measurement": {
    "description": "Milliseconds to decode a large image of various formats (gif, jpg, png, webp).",
    "code": [
      "chrome/src/tools/perf/measurements/image_decoding.py",
      "chrome/src/tools/perf/page_sets/image_decoding_measurement.json"
    ]
  },
  "indexeddb": {
    "description": "Benchmark for a basic insert operation in Indexed DB.",
    "code": [
      "chrome/src/tools/perf/measurements/page_cycler.py",
      "chrome/src/tools/perf/page_sets/page_cycler/indexed_db/basic_insert.json"
    ]
  },
  "intl_ar_fa_he": {
    "description": "Page load time benchmark for a variety of pages in Arabic, Farsi and Hebrew. Runs against pages recorded in April, 2013.",
    "code": [
      "chrome/src/tools/perf/measurements/page_cycler.py",
      "chrome/src/tools/perf/page_sets/intl_ar_fa_he.json"
    ]
  },
  "intl_es_fr_pt-BR": {
    "description": "Page load time benchmark for a variety of pages in Spanish, French and Brazilian Portuguese. Runs against pages recorded in April, 2013.",
    "code": [
      "chrome/src/tools/perf/measurements/page_cycler.py",
      "chrome/src/tools/perf/page_sets/intl_es_fr_pt-BR.json"
    ]
  },
  "intl_hi_ru": {
    "description": "Page load time benchmark for a variety of pages in Hindi and Russian. Runs against pages recorded in April, 2013.",
    "code": [
      "chrome/src/tools/perf/measurements/page_cycler.py",
      "chrome/src/tools/perf/page_sets/intl_hi_ru.json"
    ]
  },
  "intl_ja_zh": {
    "description": "Page load time benchmark for a variety of pages in Japanese and Chinese. Runs against pages recorded in April, 2013.",
    "code": [
      "chrome/src/tools/perf/measurements/page_cycler.py",
      "chrome/src/tools/perf/page_sets/intl_ja_zh.json"
    ]
  },
  "intl_ko_th_vi": {
    "description": "Page load time benchmark for a variety of pages in Korean, Thai and Vietnamese. Runs against pages recorded in April, 2013.",
    "code": [
      "chrome/src/tools/perf/measurements/page_cycler.py",
      "chrome/src/tools/perf/page_sets/intl_ko_th_vi.json"
    ]
  },
  "jsgamebench": {
    "description": "Score on [Facebook's JSGameBench benchmark](https://github.com/facebook/jsgamebench).\n\nThe focus is sprite performance a player is likely to see. Scoring is how many sprites are drawn, so large scores are better.\n\nFor each render path, JSGameBench draws as many moving, animating sprites as possible at 30fps against a background with both axis-aligned and rotated sprites. We try both because significant performance differences between the two indicate flaws or oversights in current rendering techniques. More importantly, while animation can be used instead of sprite rotations, it is often an unacceptable trade off that game developers should not be forced to make.\n\nThe final score is the geometric mean of the axis aligned and rotated scores. Geometric mean is used to prevent a high axis aligned score from hiding the poor rotated performance.",
    "code": ["chrome/src/tools/perf/benchmarks/jsgamebench.py"]
  },
  "kraken": {
    "description": "Score on [Mozilla's Kraken JavaScript benchmark](http://krakenbenchmark.mozilla.org/)",
    "code": ["chrome/src/tools/perf/benchmarks/kraken.py"]
  },
  "mach_ports": {
    "description": "This test spawns a new browser and counts the number of open Mach ports in the browser process. It navigates tabs and closes them, repeatedly measuring the number of open ports. This is used to protect against leaking Mach ports, which was the source of [bug 105513](http://crbug.com/105513).",
    "code": [
      "chrome/src/chrome/test/perf/mach_ports_test.cc"
    ]
  },
  "memory_measurement": {
    "description": "Use (recorded versions of) real world web sites and measure memory consumption.",
    "code": [
      "chrome/src/tools/perf/measurements/memory.py",
      "chrome/src/tools/perf/page_sets/top_25.json"
    ]
  },
  "memory_test": {
    "description": "Loads a number of URLs across tabs and windows and measures the memory usage.",
    "code": ["chrome/src/chrome/test/perf/memory_test.cc"]
  },
  "morejs": {
    "description": "Page loading benchmark for a variety of pages that were JavaScript heavy in 2009.",
    "code": [
      "chrome/src/tools/perf/measurements/page_cycler.py",
      "chrome/src/tools/perf/page_sets/page_cycler/morejs.json"
    ]
  },
  "moz": {
    "description": "Page loading benchmark for mozilla's original page set. Recorded in December 2000.",
    "code": [
      "chrome/src/tools/perf/measurements/page_cycler.py",
      "chrome/src/tools/perf/page_sets/page_cycler/moz.json"
    ]
  },
  "octane": {
    "description": "Score on the [V8 team's Octane benchmark](http://octane-benchmark.googlecode.com/svn/latest/index.html)",
    "code": ["chrome/src/tools/perf/benchmarks/octane.py"]
  },
  "pica": {
    "description": "Loading benchmark for the Polymer toolkit's [Pica](http://www.polymer-project.org/polymer-all/projects/pica/index.html) demo app",
    "code": ["chrome/src/tools/perf/benchmarks/pica.py"]
  },
  "page_cycler_2012Q2-netsim": {
    "description": "Page loading benchmark for a set of 25 top pages recorded in Q2, 2012.  Despite the name, network simulation has not actually been enabled on this test yet.",
    "code": ["chrome/test/functional/perf.py"]
  },
  "robohornetpro": {
    "description": "Milliseconds to complete the [RoboHornetPro demo by Microsoft](http://ie.microsoft.com/testdrive/performance/robohornetpro/)",
    "code": ["chrome/src/tools/perf/benchmarks/robohornet_pro.py"]
  },
  "sizes": {
    "description": "Tracks binary sizes and number of static initializers.",
    "code": ["chrome/tools/build/scripts/slave/chromium/sizes.py"]
  },
  "smoothness_measurement": {
    "description": "Measures frame rate and a variety of other statistics while scrolling down the top 25 web pages. [Documentation](http://www.chromium.org/developers/design-documents/rendering-benchmarks).",
    "code": [
      "chrome/src/tools/perf/measurements/smoothness.py",
      "chrome/src/tools/perf/page_sets/top_25.json"
    ]
  },
  "spaceport": {
    "description": "Performance on [spaceport.io's perfmarks benchmark](http://spaceport.io/community/perfmarks). This test performs 3 animations (rotate, translate, scale) using a variety of methods (css, webgl, canvas, etc) and reports the number of objects that can be simultaneously animated while still achieving 30FPS.",
    "code": ["chrome/src/tools/perf/benchmarks/spaceport.py"]
  },
  "startup_cold": {
    "description": "Measures cold startup time with a clean profile.",
    "code": [
      "chrome/src/tools/perf/measurements/startup.py",
      "src/tools/perf/page_sets/blank_page.json"
    ]
  },
  "startup_cold_dirty": {
    "description": "Measures cold startup time with a dirty profile.",
    "code": [
      "chrome/src/tools/perf/measurements/startup.py",
      "src/tools/perf/page_sets/blank_page.json"
    ]
  },
  "startup_measurement": {
    "description": "Measures startup time under various scenarios. This is a port of our old startup_test target to Telemetry.",
    "code": [
      "chrome/src/tools/perf/measurements/startup.py",
      "src/tools/perf/page_sets/blank_page.json"
    ]
  },
  "startup_test": {
    "description": "Measures startup and shutdown time for 1 tab, 5 tabs, and 10 tabs under a several different user profiles. These tests are in the process of being ported to Telemetry - see the startup_measurement test.",
    "code": ["chrome/src/chrome/test/perf/startup_test.cc"]
  },
  "startup_warm": {
    "description": "Measures warm startup time with a clean profile.",
    "code": [
      "chrome/src/tools/perf/measurements/startup.py",
      "src/tools/perf/page_sets/blank_page.json"
    ]
  },
  "startup_warm_dirty": {
    "description": "Measures warm startup time with a dirty profile.",
    "code": [
      "chrome/src/tools/perf/measurements/startup.py",
      "src/tools/perf/page_sets/blank_page.json"
    ]
  },
  "sunspider": {
    "description": "Performance on the [SunSpider JavaScript benchmark](http://www.webkit.org/perf/sunspider/sunspider.html)",
    "code": ["chrome/src/tools/perf/benchmarks/sunspider.py"]
  },
  "tough_layout_cases": {
    "description": "Page loading benchmark for the slowest layouts observed in the Alexa top 1 million sites in July 2013.",
    "code": [
      "chrome/src/tools/perf/measurements/page_cycler.py",
      "chrome/src/tools/perf/page_sets/tough_layout_cases.json"
    ]
  },
  "tab_switching_measurement": {
    "description": "This test records the MPArch.RWH_TabSwitchPaintDuration histogram, which is a measure of the time between when a tab was requested to be shown, and when first paint occurred. The script opens 10 pages in different tabs, waits for them to load, and then switches to each tab and records the metric. The pages were chosen from Alexa top ranking sites.",
    "code": [
      "chrome/src/tools/perf/perf_tools/tab_switching_measurement.py",
      "chrome/src/tools/perf/page_sets/top_10.json"
    ]
  },
  "typical_25": {
    "description": "Page load time benchmark for a 25 typical web pages. Designed to represent typical, not highly optimized or highly popular web sites. Runs against pages recorded in April, 2013.",
    "code": [
      "chrome/src/tools/perf/measurements/page_cycler.py",
      "chrome/src/tools/perf/page_sets/typical_25.json"
    ]
  }
}