| OLD | NEW |
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 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 import json | 5 import json |
| 6 import math | 6 import math |
| 7 import os | 7 import os |
| 8 | 8 |
| 9 from core import perf_benchmark | 9 from core import perf_benchmark |
| 10 | 10 |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 ps = story.StorySet( | 118 ps = story.StorySet( |
| 119 archive_data_file=archive_data_file, | 119 archive_data_file=archive_data_file, |
| 120 base_dir=os.path.dirname(os.path.abspath(__file__)), | 120 base_dir=os.path.dirname(os.path.abspath(__file__)), |
| 121 cloud_storage_bucket=story.PUBLIC_BUCKET) | 121 cloud_storage_bucket=story.PUBLIC_BUCKET) |
| 122 url = 'http://dromaeo.com?%s' % self.query_param | 122 url = 'http://dromaeo.com?%s' % self.query_param |
| 123 ps.AddStory(page_module.Page( | 123 ps.AddStory(page_module.Page( |
| 124 url, ps, ps.base_dir, make_javascript_deterministic=False)) | 124 url, ps, ps.base_dir, make_javascript_deterministic=False)) |
| 125 return ps | 125 return ps |
| 126 | 126 |
| 127 | 127 |
| 128 @benchmark.Owner(emails=['yukishiino@chromium.org', |
| 129 'bashi@chromium.org', |
| 130 'haraken@chromium.org']) |
| 128 class DromaeoDomCoreAttr(_DromaeoBenchmark): | 131 class DromaeoDomCoreAttr(_DromaeoBenchmark): |
| 129 """Dromaeo DOMCore attr JavaScript benchmark. | 132 """Dromaeo DOMCore attr JavaScript benchmark. |
| 130 | 133 |
| 131 Tests setting and getting DOM node attributes. | 134 Tests setting and getting DOM node attributes. |
| 132 """ | 135 """ |
| 133 tag = 'domcoreattr' | 136 tag = 'domcoreattr' |
| 134 query_param = 'dom-attr' | 137 query_param = 'dom-attr' |
| 135 | 138 |
| 136 @classmethod | 139 @classmethod |
| 137 def Name(cls): | 140 def Name(cls): |
| 138 return 'dromaeo.domcoreattr' | 141 return 'dromaeo.domcoreattr' |
| 139 | 142 |
| 140 | 143 |
| 144 @benchmark.Owner(emails=['yukishiino@chromium.org', |
| 145 'bashi@chromium.org', |
| 146 'haraken@chromium.org']) |
| 141 class DromaeoDomCoreModify(_DromaeoBenchmark): | 147 class DromaeoDomCoreModify(_DromaeoBenchmark): |
| 142 """Dromaeo DOMCore modify JavaScript benchmark. | 148 """Dromaeo DOMCore modify JavaScript benchmark. |
| 143 | 149 |
| 144 Tests creating and injecting DOM nodes. | 150 Tests creating and injecting DOM nodes. |
| 145 """ | 151 """ |
| 146 tag = 'domcoremodify' | 152 tag = 'domcoremodify' |
| 147 query_param = 'dom-modify' | 153 query_param = 'dom-modify' |
| 148 | 154 |
| 149 @classmethod | 155 @classmethod |
| 150 def Name(cls): | 156 def Name(cls): |
| 151 return 'dromaeo.domcoremodify' | 157 return 'dromaeo.domcoremodify' |
| 152 | 158 |
| 153 | 159 |
| 160 @benchmark.Owner(emails=['yukishiino@chromium.org', |
| 161 'bashi@chromium.org', |
| 162 'haraken@chromium.org']) |
| 154 class DromaeoDomCoreQuery(_DromaeoBenchmark): | 163 class DromaeoDomCoreQuery(_DromaeoBenchmark): |
| 155 """Dromaeo DOMCore query JavaScript benchmark. | 164 """Dromaeo DOMCore query JavaScript benchmark. |
| 156 | 165 |
| 157 Tests querying DOM elements in a document. | 166 Tests querying DOM elements in a document. |
| 158 """ | 167 """ |
| 159 tag = 'domcorequery' | 168 tag = 'domcorequery' |
| 160 query_param = 'dom-query' | 169 query_param = 'dom-query' |
| 161 | 170 |
| 162 @classmethod | 171 @classmethod |
| 163 def Name(cls): | 172 def Name(cls): |
| 164 return 'dromaeo.domcorequery' | 173 return 'dromaeo.domcorequery' |
| 165 | 174 |
| 166 | 175 |
| 176 @benchmark.Owner(emails=['yukishiino@chromium.org', |
| 177 'bashi@chromium.org', |
| 178 'haraken@chromium.org']) |
| 167 class DromaeoDomCoreTraverse(_DromaeoBenchmark): | 179 class DromaeoDomCoreTraverse(_DromaeoBenchmark): |
| 168 """Dromaeo DOMCore traverse JavaScript benchmark. | 180 """Dromaeo DOMCore traverse JavaScript benchmark. |
| 169 | 181 |
| 170 Tests traversing a DOM structure. | 182 Tests traversing a DOM structure. |
| 171 """ | 183 """ |
| 172 tag = 'domcoretraverse' | 184 tag = 'domcoretraverse' |
| 173 query_param = 'dom-traverse' | 185 query_param = 'dom-traverse' |
| 174 | 186 |
| 175 @classmethod | 187 @classmethod |
| 176 def Name(cls): | 188 def Name(cls): |
| 177 return 'dromaeo.domcoretraverse' | 189 return 'dromaeo.domcoretraverse' |
| 178 | 190 |
| 179 | 191 |
| 192 @benchmark.Owner(emails=['yukishiino@chromium.org', |
| 193 'bashi@chromium.org', |
| 194 'haraken@chromium.org']) |
| 180 class DromaeoJslibAttrJquery(_DromaeoBenchmark): | 195 class DromaeoJslibAttrJquery(_DromaeoBenchmark): |
| 181 """Dromaeo JSLib attr jquery JavaScript benchmark. | 196 """Dromaeo JSLib attr jquery JavaScript benchmark. |
| 182 | 197 |
| 183 Tests setting and getting DOM node attributes using the jQuery JavaScript | 198 Tests setting and getting DOM node attributes using the jQuery JavaScript |
| 184 Library. | 199 Library. |
| 185 """ | 200 """ |
| 186 tag = 'jslibattrjquery' | 201 tag = 'jslibattrjquery' |
| 187 query_param = 'jslib-attr-jquery' | 202 query_param = 'jslib-attr-jquery' |
| 188 | 203 |
| 189 @classmethod | 204 @classmethod |
| 190 def Name(cls): | 205 def Name(cls): |
| 191 return 'dromaeo.jslibattrjquery' | 206 return 'dromaeo.jslibattrjquery' |
| 192 | 207 |
| 193 @classmethod | 208 @classmethod |
| 194 def ShouldDisable(cls, possible_browser): | 209 def ShouldDisable(cls, possible_browser): |
| 195 # http://crbug.com/634055 (Android One). | 210 # http://crbug.com/634055 (Android One). |
| 196 return cls.IsSvelte(possible_browser) | 211 return cls.IsSvelte(possible_browser) |
| 197 | 212 |
| 213 @benchmark.Owner(emails=['yukishiino@chromium.org', |
| 214 'bashi@chromium.org', |
| 215 'haraken@chromium.org']) |
| 198 class DromaeoJslibAttrPrototype(_DromaeoBenchmark): | 216 class DromaeoJslibAttrPrototype(_DromaeoBenchmark): |
| 199 """Dromaeo JSLib attr prototype JavaScript benchmark. | 217 """Dromaeo JSLib attr prototype JavaScript benchmark. |
| 200 | 218 |
| 201 Tests setting and getting DOM node attributes using the jQuery JavaScript | 219 Tests setting and getting DOM node attributes using the jQuery JavaScript |
| 202 Library. | 220 Library. |
| 203 """ | 221 """ |
| 204 tag = 'jslibattrprototype' | 222 tag = 'jslibattrprototype' |
| 205 query_param = 'jslib-attr-prototype' | 223 query_param = 'jslib-attr-prototype' |
| 206 | 224 |
| 207 @classmethod | 225 @classmethod |
| 208 def Name(cls): | 226 def Name(cls): |
| 209 return 'dromaeo.jslibattrprototype' | 227 return 'dromaeo.jslibattrprototype' |
| 210 | 228 |
| 211 | 229 |
| 230 @benchmark.Owner(emails=['yukishiino@chromium.org', |
| 231 'bashi@chromium.org', |
| 232 'haraken@chromium.org']) |
| 212 class DromaeoJslibEventJquery(_DromaeoBenchmark): | 233 class DromaeoJslibEventJquery(_DromaeoBenchmark): |
| 213 """Dromaeo JSLib event jquery JavaScript benchmark. | 234 """Dromaeo JSLib event jquery JavaScript benchmark. |
| 214 | 235 |
| 215 Tests binding, removing, and triggering DOM events using the jQuery JavaScript | 236 Tests binding, removing, and triggering DOM events using the jQuery JavaScript |
| 216 Library. | 237 Library. |
| 217 """ | 238 """ |
| 218 tag = 'jslibeventjquery' | 239 tag = 'jslibeventjquery' |
| 219 query_param = 'jslib-event-jquery' | 240 query_param = 'jslib-event-jquery' |
| 220 | 241 |
| 221 @classmethod | 242 @classmethod |
| 222 def Name(cls): | 243 def Name(cls): |
| 223 return 'dromaeo.jslibeventjquery' | 244 return 'dromaeo.jslibeventjquery' |
| 224 | 245 |
| 225 | 246 |
| 247 @benchmark.Owner(emails=['yukishiino@chromium.org', |
| 248 'bashi@chromium.org', |
| 249 'haraken@chromium.org']) |
| 226 class DromaeoJslibEventPrototype(_DromaeoBenchmark): | 250 class DromaeoJslibEventPrototype(_DromaeoBenchmark): |
| 227 """Dromaeo JSLib event prototype JavaScript benchmark. | 251 """Dromaeo JSLib event prototype JavaScript benchmark. |
| 228 | 252 |
| 229 Tests binding, removing, and triggering DOM events using the Prototype | 253 Tests binding, removing, and triggering DOM events using the Prototype |
| 230 JavaScript Library. | 254 JavaScript Library. |
| 231 """ | 255 """ |
| 232 tag = 'jslibeventprototype' | 256 tag = 'jslibeventprototype' |
| 233 query_param = 'jslib-event-prototype' | 257 query_param = 'jslib-event-prototype' |
| 234 | 258 |
| 235 @classmethod | 259 @classmethod |
| 236 def Name(cls): | 260 def Name(cls): |
| 237 return 'dromaeo.jslibeventprototype' | 261 return 'dromaeo.jslibeventprototype' |
| 238 | 262 |
| 239 | 263 |
| 240 # win-ref: http://crbug.com/598705 | 264 # win-ref: http://crbug.com/598705 |
| 241 # android: http://crbug.com/503138 | 265 # android: http://crbug.com/503138 |
| 242 # linux: http://crbug.com/583075 | 266 # linux: http://crbug.com/583075 |
| 243 @benchmark.Disabled('win-reference', 'android', 'linux') | 267 @benchmark.Disabled('win-reference', 'android', 'linux') |
| 268 @benchmark.Owner(emails=['yukishiino@chromium.org', |
| 269 'bashi@chromium.org', |
| 270 'haraken@chromium.org']) |
| 244 class DromaeoJslibModifyJquery(_DromaeoBenchmark): | 271 class DromaeoJslibModifyJquery(_DromaeoBenchmark): |
| 245 """Dromaeo JSLib modify jquery JavaScript benchmark. | 272 """Dromaeo JSLib modify jquery JavaScript benchmark. |
| 246 | 273 |
| 247 Tests creating and injecting DOM nodes into a document using the jQuery | 274 Tests creating and injecting DOM nodes into a document using the jQuery |
| 248 JavaScript Library. | 275 JavaScript Library. |
| 249 """ | 276 """ |
| 250 tag = 'jslibmodifyjquery' | 277 tag = 'jslibmodifyjquery' |
| 251 query_param = 'jslib-modify-jquery' | 278 query_param = 'jslib-modify-jquery' |
| 252 | 279 |
| 253 @classmethod | 280 @classmethod |
| 254 def Name(cls): | 281 def Name(cls): |
| 255 return 'dromaeo.jslibmodifyjquery' | 282 return 'dromaeo.jslibmodifyjquery' |
| 256 | 283 |
| 257 | 284 |
| 285 @benchmark.Owner(emails=['yukishiino@chromium.org', |
| 286 'bashi@chromium.org', |
| 287 'haraken@chromium.org']) |
| 258 class DromaeoJslibModifyPrototype(_DromaeoBenchmark): | 288 class DromaeoJslibModifyPrototype(_DromaeoBenchmark): |
| 259 """Dromaeo JSLib modify prototype JavaScript benchmark. | 289 """Dromaeo JSLib modify prototype JavaScript benchmark. |
| 260 | 290 |
| 261 Tests creating and injecting DOM nodes into a document using the Prototype | 291 Tests creating and injecting DOM nodes into a document using the Prototype |
| 262 JavaScript Library. | 292 JavaScript Library. |
| 263 """ | 293 """ |
| 264 tag = 'jslibmodifyprototype' | 294 tag = 'jslibmodifyprototype' |
| 265 query_param = 'jslib-modify-prototype' | 295 query_param = 'jslib-modify-prototype' |
| 266 | 296 |
| 267 @classmethod | 297 @classmethod |
| 268 def Name(cls): | 298 def Name(cls): |
| 269 return 'dromaeo.jslibmodifyprototype' | 299 return 'dromaeo.jslibmodifyprototype' |
| 270 | 300 |
| 271 | 301 |
| 302 @benchmark.Owner(emails=['yukishiino@chromium.org', |
| 303 'bashi@chromium.org', |
| 304 'haraken@chromium.org']) |
| 272 class DromaeoJslibStyleJquery(_DromaeoBenchmark): | 305 class DromaeoJslibStyleJquery(_DromaeoBenchmark): |
| 273 """Dromaeo JSLib style jquery JavaScript benchmark. | 306 """Dromaeo JSLib style jquery JavaScript benchmark. |
| 274 | 307 |
| 275 Tests getting and setting CSS information on DOM elements using the jQuery | 308 Tests getting and setting CSS information on DOM elements using the jQuery |
| 276 JavaScript Library. | 309 JavaScript Library. |
| 277 """ | 310 """ |
| 278 tag = 'jslibstylejquery' | 311 tag = 'jslibstylejquery' |
| 279 query_param = 'jslib-style-jquery' | 312 query_param = 'jslib-style-jquery' |
| 280 | 313 |
| 281 @classmethod | 314 @classmethod |
| 282 def Name(cls): | 315 def Name(cls): |
| 283 return 'dromaeo.jslibstylejquery' | 316 return 'dromaeo.jslibstylejquery' |
| 284 | 317 |
| 285 | 318 |
| 319 @benchmark.Owner(emails=['yukishiino@chromium.org', |
| 320 'bashi@chromium.org', |
| 321 'haraken@chromium.org']) |
| 286 class DromaeoJslibStylePrototype(_DromaeoBenchmark): | 322 class DromaeoJslibStylePrototype(_DromaeoBenchmark): |
| 287 """Dromaeo JSLib style prototype JavaScript benchmark. | 323 """Dromaeo JSLib style prototype JavaScript benchmark. |
| 288 | 324 |
| 289 Tests getting and setting CSS information on DOM elements using the jQuery | 325 Tests getting and setting CSS information on DOM elements using the jQuery |
| 290 JavaScript Library. | 326 JavaScript Library. |
| 291 """ | 327 """ |
| 292 tag = 'jslibstyleprototype' | 328 tag = 'jslibstyleprototype' |
| 293 query_param = 'jslib-style-prototype' | 329 query_param = 'jslib-style-prototype' |
| 294 | 330 |
| 295 @classmethod | 331 @classmethod |
| 296 def Name(cls): | 332 def Name(cls): |
| 297 return 'dromaeo.jslibstyleprototype' | 333 return 'dromaeo.jslibstyleprototype' |
| 298 | 334 |
| 299 | 335 |
| 336 @benchmark.Owner(emails=['yukishiino@chromium.org', |
| 337 'bashi@chromium.org', |
| 338 'haraken@chromium.org']) |
| 300 class DromaeoJslibTraverseJquery(_DromaeoBenchmark): | 339 class DromaeoJslibTraverseJquery(_DromaeoBenchmark): |
| 301 """Dromaeo JSLib traverse jquery JavaScript benchmark. | 340 """Dromaeo JSLib traverse jquery JavaScript benchmark. |
| 302 | 341 |
| 303 | 342 |
| 304 Tests getting and setting CSS information on DOM elements using the Prototype | 343 Tests getting and setting CSS information on DOM elements using the Prototype |
| 305 JavaScript Library. | 344 JavaScript Library. |
| 306 """ | 345 """ |
| 307 tag = 'jslibtraversejquery' | 346 tag = 'jslibtraversejquery' |
| 308 query_param = 'jslib-traverse-jquery' | 347 query_param = 'jslib-traverse-jquery' |
| 309 | 348 |
| 310 @classmethod | 349 @classmethod |
| 311 def Name(cls): | 350 def Name(cls): |
| 312 return 'dromaeo.jslibtraversejquery' | 351 return 'dromaeo.jslibtraversejquery' |
| 313 | 352 |
| 314 | 353 |
| 354 @benchmark.Owner(emails=['yukishiino@chromium.org', |
| 355 'bashi@chromium.org', |
| 356 'haraken@chromium.org']) |
| 315 class DromaeoJslibTraversePrototype(_DromaeoBenchmark): | 357 class DromaeoJslibTraversePrototype(_DromaeoBenchmark): |
| 316 """Dromaeo JSLib traverse prototype JavaScript benchmark. | 358 """Dromaeo JSLib traverse prototype JavaScript benchmark. |
| 317 | 359 |
| 318 Tests traversing a DOM structure using the jQuery JavaScript Library. | 360 Tests traversing a DOM structure using the jQuery JavaScript Library. |
| 319 """ | 361 """ |
| 320 tag = 'jslibtraverseprototype' | 362 tag = 'jslibtraverseprototype' |
| 321 query_param = 'jslib-traverse-prototype' | 363 query_param = 'jslib-traverse-prototype' |
| 322 | 364 |
| 323 @classmethod | 365 @classmethod |
| 324 def Name(cls): | 366 def Name(cls): |
| 325 return 'dromaeo.jslibtraverseprototype' | 367 return 'dromaeo.jslibtraverseprototype' |
| 326 | 368 |
| 327 | 369 |
| 370 @benchmark.Owner(emails=['yukishiino@chromium.org', |
| 371 'bashi@chromium.org', |
| 372 'haraken@chromium.org']) |
| 328 class DromaeoCSSQueryJquery(_DromaeoBenchmark): | 373 class DromaeoCSSQueryJquery(_DromaeoBenchmark): |
| 329 """Dromaeo CSS Query jquery JavaScript benchmark. | 374 """Dromaeo CSS Query jquery JavaScript benchmark. |
| 330 | 375 |
| 331 Tests traversing a DOM structure using the Prototype JavaScript Library. | 376 Tests traversing a DOM structure using the Prototype JavaScript Library. |
| 332 """ | 377 """ |
| 333 tag = 'cssqueryjquery' | 378 tag = 'cssqueryjquery' |
| 334 query_param = 'cssquery-jquery' | 379 query_param = 'cssquery-jquery' |
| 335 | 380 |
| 336 @classmethod | 381 @classmethod |
| 337 def Name(cls): | 382 def Name(cls): |
| 338 return 'dromaeo.cssqueryjquery' | 383 return 'dromaeo.cssqueryjquery' |
| OLD | NEW |