video-object-fit tests are flaky
[WebKit-https.git] / PerformanceTests / ChangeLog
1 2013-09-19  Ryosuke Niwa  <rniwa@webkit.org>
2
3         DoYouEvenBench: Indentations in benchmark.js and benchmark.html are all messed up
4         https://bugs.webkit.org/show_bug.cgi?id=121597
5
6         Reviewed by Anders Carlsson.
7
8         Fixed indentations.
9
10         * DoYouEvenBench/benchmark.html:
11         * DoYouEvenBench/benchmark.js:
12         (SimplePromise.prototype.resolve.else):
13         (SimplePromise.prototype.resolve):
14         (BenchmarkRunner.waitForElement.resolveIfReady):
15         (BenchmarkRunner.waitForElement):
16         (BenchmarkRunner._waitAndWarmUp.Fibonacci):
17         (BenchmarkRunner._finalize):
18
19 2013-09-19  Ryosuke Niwa  <rniwa@webkit.org>
20
21         Add an AngularJS test to DoYouEvenBench
22         https://bugs.webkit.org/show_bug.cgi?id=121595
23
24         Reviewed by Antti Koivisto.
25
26         * DoYouEvenBench/benchmark.html:
27         * DoYouEvenBench/todomvc/architecture-examples/angularjs: Added.
28         * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower.json: Added.
29         * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components: Added.
30         * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular: Added.
31         * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular-mocks: Added.
32         * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular-mocks/angular-mocks.js: Added.
33         * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular/angular.js: Added.
34         * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common: Added.
35         * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.css: Added.
36         * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.js: Added.
37         * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/bg.png: Added.
38         * DoYouEvenBench/todomvc/architecture-examples/angularjs/index.html: Added.
39         * DoYouEvenBench/todomvc/architecture-examples/angularjs/js: Added.
40         * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/app.js: Added.
41         * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/controllers: Added.
42         * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/controllers/todoCtrl.js: Added.
43         * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives: Added.
44         * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoBlur.js: Added.
45         * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoEscape.js: Added.
46         * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoFocus.js: Added.
47         * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/services: Added.
48         * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/services/todoStorage.js: Added.
49         * DoYouEvenBench/todomvc/architecture-examples/angularjs/readme.md: Added.
50         * DoYouEvenBench/todomvc/architecture-examples/angularjs/test: Added.
51         * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/config: Added.
52         * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/config/testacular.conf.js: Added.
53         * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/package.json: Added.
54         * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/readme.md: Added.
55         * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit: Added.
56         * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/directivesSpec.js: Added.
57         * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/todoCtrlSpec.js: Added.
58
59 2013-09-17  Ryosuke Niwa  <rniwa@webkit.org>
60
61         Add a not completely unrealistic DOM Benchmark
62         https://bugs.webkit.org/show_bug.cgi?id=121361
63
64         Reviewed by Filip Pizlo.
65
66         Add a DOM benchmark based on TodoMVC for vanilla JS, Ember.js, Backbone.js, and jQuery.
67         We'll add more frameworks and demo apps as we go.
68
69         * DoYouEvenBench: Added.
70         * DoYouEvenBench/benchmark.html: Added.
71         * DoYouEvenBench/benchmark.js: Added.
72         (SimplePromise): 
73         (SimplePromise.prototype.then):
74         (SimplePromise.prototype.resolve.else):
75         (SimplePromise.prototype.resolve):
76         (BenchmarkRunner.suite):
77         (BenchmarkRunner.waitForElement.resolveIfReady):
78         (BenchmarkRunner.waitForElement):
79         (BenchmarkRunner._removeFrame):
80         (BenchmarkRunner._appendFrame):
81         (BenchmarkRunner._waitAndWarmUp.Fibonacci):
82         (BenchmarkRunner._testName):
83         (BenchmarkRunner._testItemId):
84         (BenchmarkRunner.listSuites.button.onclick):
85         (BenchmarkRunner.listSuites.callNextStep):
86         (BenchmarkRunner.listSuites):
87         (BenchmarkState):
88         (BenchmarkState.prototype.currentSuite):
89         (BenchmarkState.prototype.currentTest):
90         (BenchmarkState.prototype.next):
91         (BenchmarkState.prototype.isFirstTest):
92         (BenchmarkState.prototype.prepareCurrentSuite.frame.onload):
93         (BenchmarkRunner.step):
94         (BenchmarkRunner._runTestAndRecordResults):
95         (BenchmarkRunner._finalize):
96         * DoYouEvenBench/todomvc: Added.
97         * DoYouEvenBench/todomvc/architecture-examples: Added.
98         * DoYouEvenBench/todomvc/architecture-examples/backbone: Added.
99         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower.json: Added.
100         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components: Added.
101         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone: Added.
102         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage: Added.
103         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage/backbone.localStorage.js: Added.
104         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone/backbone.js: Added.
105         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/jquery: Added.
106         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/jquery/jquery.js: Added.
107         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common: Added.
108         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.css: Added.
109         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.js: Added.
110         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/bg.png: Added.
111         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/underscore: Added.
112         * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/underscore/underscore.js: Added.
113         * DoYouEvenBench/todomvc/architecture-examples/backbone/index.html: Added.
114         * DoYouEvenBench/todomvc/architecture-examples/backbone/js: Added.
115         * DoYouEvenBench/todomvc/architecture-examples/backbone/js/app.js: Added.
116         * DoYouEvenBench/todomvc/architecture-examples/backbone/js/collections: Added.
117         * DoYouEvenBench/todomvc/architecture-examples/backbone/js/collections/todos.js: Added.
118         * DoYouEvenBench/todomvc/architecture-examples/backbone/js/models: Added.
119         * DoYouEvenBench/todomvc/architecture-examples/backbone/js/models/todo.js: Added.
120         * DoYouEvenBench/todomvc/architecture-examples/backbone/js/routers: Added.
121         * DoYouEvenBench/todomvc/architecture-examples/backbone/js/routers/router.js: Added.
122         * DoYouEvenBench/todomvc/architecture-examples/backbone/js/views: Added.
123         * DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/app-view.js: Added.
124         * DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/todo-view.js: Added.
125         * DoYouEvenBench/todomvc/architecture-examples/backbone/readme.md: Added.
126         * DoYouEvenBench/todomvc/architecture-examples/emberjs: Added.
127         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower.json: Added.
128         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components: Added.
129         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember: Added.
130         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter: Added.
131         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter/localstorage_adapter.js: Added.
132         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js: Added.
133         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/handlebars: Added.
134         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js: Added.
135         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/jquery: Added.
136         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/jquery/jquery.js: Added.
137         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common: Added.
138         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css: Added.
139         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.js: Added.
140         * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/bg.png: Added.
141         * DoYouEvenBench/todomvc/architecture-examples/emberjs/index.html: Added.
142         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js: Added.
143         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/app.js: Added.
144         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers: Added.
145         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todo_controller.js: Added.
146         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todos_controller.js: Added.
147         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/libs: Added.
148         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/libs/ember-data.js: Added.
149         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models: Added.
150         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/store.js: Added.
151         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/todo.js: Added.
152         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/views: Added.
153         * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/views/edit_todo_view.js: Added.
154         * DoYouEvenBench/todomvc/architecture-examples/emberjs/readme.md: Added.
155         * DoYouEvenBench/todomvc/architecture-examples/emberjs/test.html: Added.
156         * DoYouEvenBench/todomvc/architecture-examples/jquery: Added.
157         * DoYouEvenBench/todomvc/architecture-examples/jquery/bower.json: Added.
158         * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components: Added.
159         * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/handlebars: Added.
160         * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/handlebars/handlebars.js: Added.
161         * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/jquery: Added.
162         * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/jquery/jquery.js: Added.
163         * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common: Added.
164         * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.css: Added.
165         * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.js: Added.
166         * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/bg.png: Added.
167         * DoYouEvenBench/todomvc/architecture-examples/jquery/css: Added.
168         * DoYouEvenBench/todomvc/architecture-examples/jquery/css/app.css: Added.
169         * DoYouEvenBench/todomvc/architecture-examples/jquery/index.html: Added.
170         * DoYouEvenBench/todomvc/architecture-examples/jquery/js: Added.
171         * DoYouEvenBench/todomvc/architecture-examples/jquery/js/app.js: Added.
172         * DoYouEvenBench/todomvc/architecture-examples/jquery/readme.md: Added.
173         * DoYouEvenBench/todomvc/license.md: Added.
174         * DoYouEvenBench/todomvc/readme.md: Added.
175         * DoYouEvenBench/todomvc/vanilla-examples: Added.
176         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs: Added.
177         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower.json: Added.
178         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components: Added.
179         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common: Added.
180         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.css: Added.
181         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.js: Added.
182         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/bg.png: Added.
183         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/index.html: Added.
184         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js: Added.
185         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/app.js: Added.
186         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/controller.js: Added.
187         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/helpers.js: Added.
188         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/model.js: Added.
189         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/store.js: Added.
190         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/view.js: Added.
191         * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/readme.md: Added.
192         * Skipped:
193
194 2013-09-04  Filip Pizlo  <fpizlo@apple.com>
195
196         Introduce a version of SunSpider that runs for a really long time (about 1 sec on my machine)
197
198         Rubber stamped by Mark Hahnenberg.
199         
200         This isn't meant for serious VM-to-VM performance comparisons, but it is useful
201         to see how these benchmarks behave when they're completely warmed up.
202
203         * LongSpider: Added.
204         * LongSpider/3d-cube.js: Added.
205         (DrawLine):
206         (CalcCross):
207         (CalcNormal):
208         (CreateP):
209         (MMulti):
210         (VMulti):
211         (VMulti2):
212         (MAdd):
213         (Translate):
214         (RotateX):
215         (RotateY):
216         (RotateZ):
217         (DrawQube):
218         (Loop):
219         (Init):
220         * LongSpider/3d-morph.js: Added.
221         (loops.3500.nx.120.nz.120.morph):
222         * LongSpider/3d-raytrace.js: Added.
223         (createVector):
224         (sqrLengthVector):
225         (lengthVector):
226         (addVector):
227         (subVector):
228         (scaleVector):
229         (normaliseVector):
230         (add):
231         (sub):
232         (scalev):
233         (dot):
234         (scale):
235         (cross):
236         (normalise):
237         (transformMatrix):
238         (invertMatrix):
239         (Triangle):
240         (Triangle.prototype.intersect):
241         (Scene):
242         (Scene.prototype.intersect):
243         (Scene.prototype.blocked):
244         (Camera):
245         (Camera.prototype.generateRayPair):
246         (renderRows):
247         (Camera.prototype.render):
248         (raytraceScene.floorShader):
249         (raytraceScene):
250         (arrayToCanvasCommands):
251         * LongSpider/access-binary-trees.js: Added.
252         (TreeNode):
253         (TreeNode.prototype.itemCheck):
254         (bottomUpTree):
255         * LongSpider/access-fannkuch.js: Added.
256         (fannkuch):
257         * LongSpider/access-nbody.js: Added.
258         (Body):
259         (Body.prototype.offsetMomentum):
260         (Jupiter):
261         (Saturn):
262         (Uranus):
263         (Neptune):
264         (Sun):
265         (NBodySystem):
266         (NBodySystem.prototype.advance):
267         (NBodySystem.prototype.energy):
268         * LongSpider/access-nsieve.js: Added.
269         (pad):
270         (nsieve):
271         (sieve):
272         * LongSpider/bitops-3bit-bits-in-byte.js: Added.
273         (fast3bitlookup):
274         (TimeFunc):
275         * LongSpider/bitops-bits-in-byte.js: Added.
276         (bitsinbyte):
277         (TimeFunc):
278         * LongSpider/bitops-nsieve-bits.js: Added.
279         (pad):
280         (primes):
281         (sieve):
282         * LongSpider/controlflow-recursive.js: Added.
283         (ack):
284         (fib):
285         (tak):
286         * LongSpider/crypto-aes.js: Added.
287         (Cipher):
288         (SubBytes):
289         (ShiftRows):
290         (MixColumns):
291         (AddRoundKey):
292         (KeyExpansion):
293         (SubWord):
294         (RotWord):
295         (AESEncryptCtr):
296         (AESDecryptCtr):
297         (escCtrlChars):
298         * LongSpider/crypto-md5.js: Added.
299         (hex_md5):
300         (b64_md5):
301         (str_md5):
302         (hex_hmac_md5):
303         (b64_hmac_md5):
304         (str_hmac_md5):
305         (md5_vm_test):
306         (core_md5):
307         (md5_cmn):
308         (md5_ff):
309         (md5_gg):
310         (md5_hh):
311         (md5_ii):
312         (core_hmac_md5):
313         (safe_add):
314         (bit_rol):
315         (str2binl):
316         (binl2str):
317         (binl2hex):
318         (binl2b64):
319         * LongSpider/crypto-sha1.js: Added.
320         (hex_sha1):
321         (b64_sha1):
322         (str_sha1):
323         (hex_hmac_sha1):
324         (b64_hmac_sha1):
325         (str_hmac_sha1):
326         (sha1_vm_test):
327         (core_sha1):
328         (sha1_ft):
329         (sha1_kt):
330         (core_hmac_sha1):
331         (safe_add):
332         (rol):
333         (str2binb):
334         (binb2str):
335         (binb2hex):
336         (binb2b64):
337         * LongSpider/date-format-tofte.js: Added.
338         (arrayExists):
339         (.a):
340         (.A):
341         (.B):
342         (.d):
343         (.D):
344         (.F):
345         (.g):
346         (.G):
347         (.h):
348         (.H):
349         (.i):
350         (.j):
351         (.l):
352         (.L):
353         (.m):
354         (.M):
355         (.n):
356         (.O):
357         (.r):
358         (.S):
359         (.s):
360         (.t):
361         (.U):
362         (.W):
363         (.w):
364         (.Y):
365         (.y):
366         (.z):
367         (Date.prototype.formatDate):
368         * LongSpider/date-format-xparb.js: Added.
369         (Date.prototype.dateFormat):
370         (Date.createNewFormat):
371         (Date.getFormatCode):
372         (Date.parseDate):
373         (Date.createParser):
374         (Date.formatCodeToRegex):
375         (Date.prototype.getTimezone):
376         (Date.prototype.getGMTOffset):
377         (Date.prototype.getDayOfYear):
378         (Date.prototype.getWeekOfYear):
379         (Date.prototype.isLeapYear):
380         (Date.prototype.getFirstDayOfMonth):
381         (Date.prototype.getLastDayOfMonth):
382         (Date.prototype.getDaysInMonth):
383         (Date.prototype.getSuffix):
384         (String.escape):
385         * LongSpider/math-cordic.js: Added.
386         (FIXED):
387         (FLOAT):
388         (DEG2RAD):
389         (cordicsincos):
390         (cordic):
391         * LongSpider/math-partial-sums.js: Added.
392         (partial):
393         * LongSpider/math-spectral-norm.js: Added.
394         (A):
395         (Au):
396         (Atu):
397         (AtAu):
398         (spectralnorm):
399         * LongSpider/string-base64.js: Added.
400         (toBase64):
401         (base64ToString):
402         * LongSpider/string-fasta.js: Added.
403         (rand):
404         (makeCumulative):
405         (fastaRepeat):
406         (fastaRandom):
407         * LongSpider/string-tagcloud.js: Added.
408         (.Array.prototype.toJSONString):
409         (.Boolean.prototype.toJSONString):
410         (.Date.prototype.toJSONString):
411         (.Number.prototype.toJSONString):
412         (.Object.prototype.toJSONString):
413         (.):
414
415 2013-06-10  Radu Stavila  <stavila@adobe.com>
416
417         [CSS Regions] Rename region-overflow to region-fragment
418         https://bugs.webkit.org/show_bug.cgi?id=117397
419
420         Renamed -webkit-region-overflow to -webkit-region-fragment according to the new working draft
421         at http://www.w3.org/TR/2013/WD-css3-regions-20130528/#the-region-fragment-property
422
423         Reviewed by Alexander Pavlov.
424
425         * Layout/resources/regions.css:
426
427 2013-06-05  Zan Dobersek  <zdobersek@igalia.com>
428
429         Move MemoryInfo under window.internals
430         https://bugs.webkit.org/show_bug.cgi?id=117197
431
432         Reviewed by Ryosuke Niwa.
433
434         * resources/runner.js: Remove the setMemoryEnabled call, it's not required anymore as the memory
435         info is now accessed through window.internals and doesn't need the setting to be enabled to work.
436
437 2013-05-30  Ryosuke Niwa  <rniwa@webkit.org>
438
439         Web Inspector: tests in PerformanceTests/inspector/ are timing out
440         https://bugs.webkit.org/show_bug.cgi?id=77024
441
442         Reviewed by Andreas Kling.
443
444         These tests have been disabled for ages and don't conform to the standard format.
445
446         * Skipped:
447         * inspector: Removed.
448         * inspector/console-300-lines.html: Removed.
449         * inspector/first-open-elements.html: Removed.
450         * inspector/first-open-resources.html: Removed.
451         * inspector/first-open-scripts.html.broken: Removed.
452         * inspector/heap-snapshot-advanced.html: Removed.
453         * inspector/heap-snapshot-performance-test.js: Removed.
454         * inspector/heap-snapshot.html: Removed.
455         * inspector/inspector-startup-time.html: Removed.
456         * inspector/network-append-30-requests.html.broken: Removed.
457         * inspector/performance-test.js: Removed.
458         * inspector/show-panel.html.broken: Removed.
459
460 2013-05-27  Benjamin Poulain  <benjamin@webkit.org>
461
462         Add a balanced benchmark for QuerySelector
463         https://bugs.webkit.org/show_bug.cgi?id=116811
464
465         Reviewed by Sam Weinig.
466
467         The goal of this benchmark is to have an overview of querySelector as typically used
468         by webpages.
469
470         It uses queries similar to what is used by popular websites and applies somewhat
471         similar weighting for each type of query.
472
473         The tree used for the queries is intentionally kept simple to ensure we measure QuerySelector
474         a not purely the overhead of traversal.
475
476         * CSS/QuerySelector.html: Added.
477         * CSS/resources/query-selector.html: Added.
478
479 2013-05-18  Ryosuke Niwa  <rniwa@webkit.org>
480
481         Add a performance test for copying
482         https://bugs.webkit.org/show_bug.cgi?id=116394
483
484         Reviewed by Andreas Kling.
485
486         Added. We're going to skip this test by default since it's such a microbenchmark, and also because
487         it currently takes 30 minutes to run. As insane as it sounds, each copy takes rouhgly 57 seconds.
488
489         Running Interactive/CopyAll.html (1 of 1)
490         RESULT Interactive: CopyAll: Time= 57618.05 ms
491         median= 57135.0 ms, stdev= 1542.07271571 ms, min= 55095.0 ms, max= 60913.0 ms
492         RESULT Interactive: CopyAll: JSHeap= 102811.2 bytes
493         median= 103272.0 bytes, stdev= 1115.28148913 bytes, min= 100648.0 bytes, max= 103504.0 bytes
494         RESULT Interactive: CopyAll: Malloc= 446408712.0 bytes
495         median= 459156772.0 bytes, stdev= 20007346.3266 bytes, min= 415564040.0 bytes, max= 462011928.0 bytes
496         Finished: 1766.883236 s
497
498         * Interactive/CopyAll.html: Added.
499         * Skipped:
500
501 2013-05-13  Seokju Kwon  <seokju.kwon@gmail.com>
502
503         Web Inspector: Get rid of native-memory-snapshot in performance test
504         https://bugs.webkit.org/show_bug.cgi?id=116013
505
506         Reviewed by Andreas Kling.
507
508         Remove native-memory-snapshot.html from PerformanceTests.
509
510         * inspector/native-memory-snapshot.html: Removed.
511         * inspector/performance-test.js:
512         (initialize_TimeTracker.Timer):
513         (initialize_TimeTracker.Timer.prototype._dump):
514         (initialize_TimeTracker.InspectorTest.runPerformanceTest):
515
516 2013-04-10  Benjamin Poulain  <bpoulain@apple.com>
517
518         Mass remove all the empty directories
519
520         Rubberstamped by Ryosuke Niwa.
521
522         * Bindings/resources: Removed.
523
524 2013-04-02  Glenn Adams  <glenn@skynav.com>
525
526         Need japanese line layout performance test
527         https://bugs.webkit.org/show_bug.cgi?id=113811
528
529         Reviewed by Ryosuke Niwa.
530
531         Will be used by https://bugs.webkit.org/show_bug.cgi?id=105692 to test potential performance regression
532         for Japanese (and other CJK) line break changes.
533
534         * Layout/LineLayoutJapanese.html: Added.
535         * Skipped: Skip this test by default.
536
537 2013-03-29  Andrei Bucur  <abucur@adobe.com>
538
539         [CSS Regions] Add performance tests
540         https://bugs.webkit.org/show_bug.cgi?id=113303
541
542         Reviewed by Antti Koivisto.
543
544         Add simple performance tests for regions, without nested named flows: a region chain and a flow article.
545         The regions.js script is used to generate the tests and can set the following parameters: the number of regions,
546         the number of paragraphs, the regions width, height, max-height and the propability of a forced break after a paragraph.
547
548         The tests are skipped for now. They should be enabled once the regions performance is stable enough to create a baseline.
549
550         * Layout/RegionsAuto.html: Added. A few regions with a short article. The regions have auto-height and some
551         paragraphs (80%) have forced breaks after. Stress test for the auto-height algorithm.
552         * Layout/RegionsAutoMaxHeight.html: Added. A lot of regions with auto-height and max-height. Tests the impact of
553         max-height on the auto-height algorithm.
554         * Layout/RegionsFixed.html: Added. A lot of regions with a long article. Some paragraphs (50%) have forced breaks after.
555         Stress test for the regions layout algorithm.
556         * Layout/RegionsFixedShort.html: Added. A lot of short regions with a long content. Tests the impact of unforced breaks
557         on the layout speed.
558         * Layout/resources/regions.css: Added.
559         (.articleInFlow):
560         (.articleNone):
561         (.region):
562         (.contentParagraph):
563         (.breakAfter):
564         (.regionContainer):
565         * Layout/resources/regions.js: Added.
566         (.):
567         * Skipped:
568
569 2013-03-26  Ryosuke Niwa  <rniwa@webkit.org>
570
571         Add a performance tests for selecting all content in a document
572         https://bugs.webkit.org/show_bug.cgi?id=113358
573
574         Reviewed by Levi Weintraub.
575
576         Add a performance test for selecting all. We wait for paint to happen by setTimeout(~, 0).
577
578         Example outputs:
579             RESULT Interactive: SelectAll: Time= 652.6 ms
580             median= 644.5 ms, stdev= 54.6177144967 ms, min= 599.0 ms, max= 773.0 ms
581
582             RESULT Interactive: SelectAll: Time= 654.4 ms
583             median= 633.5 ms, stdev= 55.9223145368 ms, min= 600.0 ms, max= 769.0 ms
584
585             RESULT Interactive: SelectAll: Time= 657.9 ms
586             median= 640.0 ms, stdev= 54.1420159833 ms, min= 604.0 ms, max= 774.0 ms
587
588         * Interactive/SelectAll.html: Added.
589         * Skipped:
590
591 2013-03-19  Alexei Filippov  <alph@chromium.org>
592
593         Web Inspector: Fix heap profiler performance tests.
594         https://bugs.webkit.org/show_bug.cgi?id=112701
595
596         Reviewed by Yury Semikhatsky.
597
598         The tests were broken by profile types refactoring.
599
600         * inspector/heap-snapshot-performance-test.js:
601         (test.performanceTest.step0):
602         (test.performanceTest.step1):
603
604 2013-03-05  Eric Seidel  <eric@webkit.org>
605
606         Add html-parser-threaded perf test now that the threaded parser is enabled by default
607         https://bugs.webkit.org/show_bug.cgi?id=111200
608
609         Reviewed by Ryosuke Niwa.
610
611         The old srcdoc test no longer triggers the threaded parser due to compatibility fixes.
612
613         * Parser/html-parser-threaded.html: Renamed from PerformanceTests/Parser/html-parser-srcdoc.html.
614         * Skipped: Unfortunately this new test is still skipped too.
615
616 2013-03-04  Eric Seidel  <eric@webkit.org>
617
618         Add PerformanceTest for document startup via iframe append/remove
619         https://bugs.webkit.org/show_bug.cgi?id=111389
620
621         Reviewed by Kentaro Hara.
622
623         We'd like pages with lots of iframes to be fast.
624         This test shows that at least for V8/Chromium we spend
625         all our time booting v8.
626
627         On my 32-core linux machine I see about 70 runs/sec in
628         Release and 5 runs/sec in Debug.
629
630         * DOM/iframe-append-remove.html: Added.
631
632 2013-03-03  Ryosuke Niwa  <rniwa@webkit.org>
633
634         Some perf. tests have variances that differ greatly between runs
635         https://bugs.webkit.org/show_bug.cgi?id=97510
636
637         Reviewed by Benjamin Poulain.
638
639         In order to control the number of iterations and processes to use from run-perf-tests, always use 20
640         iterations on all tests except Dromaeo, where even doing 5 iterations is prohibitively slow, by default.
641         Without this change, it'll become extremely hard for us to tweak the number of iterations and processes
642         to use from run-perf-tests.
643
644         * Animation/balls.html:
645         * DOM/DOMTable.html:
646         * DOM/resources/dom-perf.js:
647         (runBenchmarkSuite.PerfTestRunner.measureTime):
648         * Dromaeo/resources/dromaeorunner.js:
649         * Layout/floats_100_100.html:
650         * Layout/floats_100_100_nested.html:
651         * Layout/floats_20_100.html:
652         * Layout/floats_20_100_nested.html:
653         * Layout/floats_2_100.html:
654         * Layout/floats_2_100_nested.html:
655         * Layout/floats_50_100.html:
656         * Layout/floats_50_100_nested.html:
657         * Layout/subtree-detaching.html:
658         * Parser/html5-full-render.html:
659         * SVG/SvgHitTesting.html:
660         * resources/runner.js:
661         * resources/results-template.html:
662
663 2013-02-25  Ryosuke Niwa  <rniwa@webkit.org>
664
665         Use perf.webkit.org JSON format in results page
666         https://bugs.webkit.org/show_bug.cgi?id=110842
667
668         Reviewed by Benjamin Poulain.
669
670         Updated the results page template to use the new JSON format.
671
672         Since new JSON format doesn't contain statistics such as stdev and min, added statistics.js to compute
673         these values. Also use 95% percentile confidence interval instead of standard deviation in various places.
674
675         * resources/results-template.html: Added statistics.js as dependency.
676         (TestResult): Updated to take a metric instead of its test. Replaced stdev() with confidenceIntervalDelta()
677         now that we have a fancy Statistics class.
678
679         (TestRun.webkitRevision):
680         (PerfTestMetric): Renamed from PerfTest since this object now encapsulates each measurement (such as time,
681         JS heap, and malloc) in test. Also added a conversion table from a metric name to a unit since new format
682         doesn't contain units.
683         (PerfTestMetric.name): Updated to compute the full metric name from test name and metric name, matching
684         the old behavior.
685         (PerfTestMetric.isMemoryTest): Explicitly look for 'JSHeap' and 'Malloc' tests.
686         (PerfTestMetric.smallerIsBetter):
687
688         (attachPlot): Deleted the code to deal with tests that don't provide individual iteration measurement
689         since such tests no longer exist. Also fixed up the code compute y-axis range.
690
691         (createTableRow.markupForRun): Updated to use confidenceIntervalDelta() instead of stdev().
692         
693         (init.addTests): Added. Recursively add metrics.
694
695         * resources/statistics.js: Added. Imported from perf.webkit.org.
696         (Statistics.max):
697         (Statistics.min):
698         (Statistics.sum):
699         (Statistics.squareSum):
700         (Statistics.sampleStandardDeviation):
701         (Statistics.supportedConfidenceLevels):
702         (Statistics.confidenceIntervalDelta):
703         (Statistics.confidenceInterval):
704
705 2013-02-11  Alexei Filippov  <alph@chromium.org>
706
707         Web Inspector: Split Profiler domain in protocol into Profiler and HeapProfiler
708         https://bugs.webkit.org/show_bug.cgi?id=108653
709
710         Reviewed by Yury Semikhatsky.
711
712         Currently CPU and heap profilers share the same domain 'Profiler' in the protocol.
713         In fact these two profile types have not too much in common. So put each into its own domain.
714         It should also help when Profiles panel gets split into several tools.
715         This is the phase 1 which adds InspectorHeapProfilerAgent but doesn't
716         change the original InspectorProfilerAgent.
717
718         * inspector/heap-snapshot-performance-test.js:
719         (test.performanceTest.cleanup):
720
721 2013-02-05  Dominik Röttsches  <dominik.rottsches@intel.com>
722
723         Add a performance test for arabic line breaking
724         https://bugs.webkit.org/show_bug.cgi?id=108948
725
726         Reviewed by Eric Seidel.
727
728         Adding a perfomance test based to exercise the complex
729         font path used in rendering arabic script.
730
731         * Layout/ArabicLineLayout.html: Added.
732         * Skipped: New test skipped by default as per Ryosuke's request.
733
734 2013-01-23  Yury Semikhatsky  <yurys@chromium.org>
735
736         Web Inspector: some measurements are missing in PerformanceTests/inspector/heap-*.html
737         https://bugs.webkit.org/show_bug.cgi?id=107687
738
739         Reviewed by Pavel Feldman.
740
741         * inspector/heap-snapshot-performance-test.js: override methods on JSHeapSnapshot instead
742         of HeapSnapshot, otherwise overrides from JSHeapSnapshot will rule.
743
744 2013-01-18  Ryosuke Niwa  <rniwa@webkit.org>
745
746         Skip DOM/TraverseChildNodes.html as intended in r140070.
747
748         * Skipped:
749
750 2013-01-17  Dominic Cooney  <dominicc@chromium.org>
751
752         Unreviewed, re-land r140051.
753
754         I overzealously rolled this out; the test was intended to be
755         skipped, but was not skipped because of a typo in Skipped. See
756         <https://bugs.webkit.org/show_bug.cgi?id=107210>
757
758         * Parser/html-parser-srcdoc.html: Added.
759         * Skipped: Big-P Parser.
760
761 2013-01-17  Sheriff Bot  <webkit.review.bot@gmail.com>
762
763         Unreviewed, rolling out r140051.
764         http://trac.webkit.org/changeset/140051
765         https://bugs.webkit.org/show_bug.cgi?id=107210
766
767         html-parser-srcdoc.html failing on Chromium Linux Perf and
768         Chromium Mac Perf with a lot of error spew about blocked
769         script execution in 'about:srcdoc' (Requested by dominicc on
770         #webkit).
771
772         * Parser/html-parser-srcdoc.html: Removed.
773         * Skipped:
774
775 2013-01-16  Ryosuke Niwa  <rniwa@webkit.org>
776
777         Remove NodeListsNodeData when it's no longer needed
778         https://bugs.webkit.org/show_bug.cgi?id=107074
779
780         Reviewed by Darin Adler.
781
782         Added a micro benchmark to see the benefit of removing NodeListsNodeData.
783         The test traverses all elements in the html5 specification page and accesses childNodes.
784
785         Don't enable this test for now since it's really a micro benchmark specifically
786         designed to test this patch.
787
788         * DOM/TraverseChildNodes.html: Added.
789         * Skipped: Don't enable newly added test by default.
790         * resources/results-template.html: Compare against the unscaled unit (e.g. "bytes") as
791         opposed to scaled units such as "K bytes".
792         * resources/runner.js:
793         (.start): Moved the code to call currentTest.setup from measureRunsPerSecondOnce so that
794         it'll be ran for all test types, namely of PerfTestRunner.measureTime.
795         (.measureRunsPerSecondOnce):
796
797 2013-01-17  Eric Seidel  <eric@webkit.org>
798
799         Add a version of the html-parser benchmark which uses srcdoc instead of document.write so it tests the threaded parser
800         https://bugs.webkit.org/show_bug.cgi?id=107158
801
802         Reviewed by Ryosuke Niwa.
803
804         Currently this test even opts-in to the threaded parser if available.
805         We'll remove that line when the threaded parser becomes default or goes away.
806
807         * Parser/html-parser-srcdoc.html: Added.
808
809 2013-01-16  Arnaud Renevier  <a.renevier@sisa.samsung.com>
810
811         inconsistency in drawImage with target rect negative dimensions.
812         https://bugs.webkit.org/show_bug.cgi?id=100026
813
814         Reviewed by Dean Jackson.
815
816         Create a drawImage performance test. There is no significative change
817         in performance: 27144.6851528 runs/s without the patch; 27153.517612
818         runs/s with the patch. Test is currently skipped.
819
820         * Canvas/drawimage.html: Added.
821         * Skipped:
822
823 2013-01-15  Dominic Cooney  <dominicc@chromium.org>
824
825         Allow zero values as results from the runFunction.
826         https://bugs.webkit.org/show_bug.cgi?id=102500
827
828         Reviewed by Kentaro Hara.
829
830         DOM/DOMWalk.js fails on the Chromium Win perf bot because one or
831         more parts of the test usually return zero at some point.
832
833         * resources/runner.js: Accept merely non-negative results.
834
835 2012-12-28  Yury Semikhatsky  <yurys@chromium.org>
836
837         Web Inspector: rename distanceToWindow to distance
838         https://bugs.webkit.org/show_bug.cgi?id=105823
839
840         Reviewed by Pavel Feldman.
841
842         Updated heap profiler performance test after renaming distanceToWindow to distance.
843
844         * inspector/heap-snapshot-performance-test.js:
845
846 2012-12-18  Hayato Ito  <hayato@chromium.org>
847
848         Use element.webkitCreateShadowRoot instead of WebKitShadowRoot in PerformanceTests.
849         https://bugs.webkit.org/show_bug.cgi?id=105256
850
851         Reviewed by Dimitri Glazkov.
852
853         WebKitShadowRoot constructor was deleted in favor of element.webkitCreateShadowRoot().
854
855         * ShadowDOM/ChangingClassNameShadowDOM.html:
856         * ShadowDOM/ChangingSelect.html:
857         * ShadowDOM/ContentReprojection.html:
858         * ShadowDOM/DistributionWithMultipleShadowRoots.html:
859         * ShadowDOM/LargeDistributionWithLayout.html:
860         * ShadowDOM/MultipleInsertionPoints.html:
861         * ShadowDOM/ShadowReprojection.html:
862         * ShadowDOM/SmallDistributionWithLayout.html:
863
864 2012-12-17  Shinya Kawanaka  <shinyak@chromium.org>
865
866         [Shadow] LargeDistributionWithLayout.html should be updated
867         https://bugs.webkit.org/show_bug.cgi?id=105242
868
869         Reviewed by Ryosuke Niwa.
870
871         Since this test was written when distribution took O(N^2). However, now it's almost O(N), so this test finishes
872         in very short time. We should convert it unit to runs/s.
873
874         This test contains a some error to cause test failure, e.g. using obsolete API, so they also should be fixed.
875
876         * ShadowDOM/LargeDistributionWithLayout.html:
877
878 2012-12-13  Ryosuke Niwa  <rniwa@webkit.org>
879
880         [chromium perf] DOM/DOMWalk.html failures
881         https://bugs.webkit.org/show_bug.cgi?id=104866
882
883         Reviewed by Eric Seidel.
884
885         Use PerfTestRunner.now which in turn uses window.performance.now() when it's available.
886
887         * DOM/resources/dom-perf.js:
888         (Interval.start):
889         (Interval.stop):
890         (BenchmarkSuite.prototype.RunSingle):
891
892 2012-12-05  Shinya Kawanaka  <shinyak@chromium.org>
893
894         [Shadow] Performance tests for ShadowDOM distribution
895         https://bugs.webkit.org/show_bug.cgi?id=103617
896
897         Reviewed by Dimitri Glazkov.
898
899         We would like to measure ShadowDOM distribution performance in various cases.
900         In this patch, we add performance tests for several distribution patterns.
901
902         * ShadowDOM/ContentReprojection.html: Added.
903         * ShadowDOM/DistributionWithMultipleShadowRoots.html: Added.
904         * ShadowDOM/LargeDistributionWithLayout.html: Added.
905         * ShadowDOM/MultipleInsertionPoints.html: Added.
906         * ShadowDOM/ShadowReprojection.html: Added.
907         * ShadowDOM/SmallDistributionWithLayout.html: Added.
908
909 2012-12-05  Shinya Kawanaka  <shinyak@chromium.org>
910
911         [Shadow] Performance tests of distribution for changing className
912         https://bugs.webkit.org/show_bug.cgi?id=103612
913
914         Reviewed by Dimitri Glazkov.
915
916         We would like to measure ShadowDOM performance and compare it to the similar functional HTML without using ShadowDOM.
917         In this patch, we add a case when classNames of distributed elemeents are changed.
918
919         * ShadowDOM/ChangingClassName.html: Added.
920         * ShadowDOM/ChangingClassNameShadowDOM.html: Added.
921
922 2012-12-03  Ryosuke Niwa  <rniwa@webkit.org>
923
924         Dromaeo should report individual test result
925         https://bugs.webkit.org/show_bug.cgi?id=99800
926
927         Reviewed by Eric Seidel.
928
929         Made one small modification to Droameo's webrunner.js so that it reports individual runs/s values
930         for each subtest. This allows us to compute the aggregated run/s for each iteration like other
931         performance tests.
932
933         Also stop measuring memory usage in Dromaeo tests because some Dromaeo tests (e.g. jslib-modify-jquery)
934         have unrealistic memory usage, and measuring them at the time of teardown doesn't make much sense.
935
936         * Animation/balls.html: Fixed typo: measureValueAync.
937         * Dromaeo/resources/dromaeo/web/webrunner.js:
938
939         * Dromaeo/resources/dromaeorunner.js:
940         (DRT.setup): Call prepareToMeasureValuesAsync so that DRT.teardown can use meausreValueAsync, and log
941         "Running 5 times". Since the log container will be inserted before iframe, we need to explicitly insert
942         the iframe as the first child of the body element to avoid logs from affecting the iframe's position.
943         Also specify the number of iterations by calling PerfTestRunner.iterationCount() so that we may adjust
944         the number of iterations in PerfTestRunner.
945
946         (DRT.progress): Log individual measurement for each subtest.
947         (DRT.teardown): Compute the aggregated result for each iteration, and log them using measureValueAsync.
948
949         * resources/runner.js:
950         (PerfTestRunner.logStatistics): Merged printStatistics since it's no longer needed after r131638.
951         (PerfTestRunner): Removed getAndPrintMemoryStatistics since it was used only in Dromaeo tests but
952         we no longer measure memory usage in Dromaeo tests.
953
954         (start): Increment completedRuns from -1 to 0 for Dromaeo tests where we don't want to ignore the initial
955         measurement. Note that ignoreWarmUpAndLog ignores the measurements for which completedRuns is negative.
956
957         (ignoreWarmUpAndLog): We don't measure memory usage in Dromaeo tests. See above.
958         (PerfTestRunner.iterationCount): Added. This abstraction allows us to auto-adjust the number of iterations from
959         run-perf-tests in near future.
960         (PerfTestRunner.measureValueAsync): Renamed from measureValueAync.
961
962 2012-11-29  Shinya Kawanaka  <shinyak@chromium.org>
963
964         [Shadow] Performance tests of distribution for changing select attribute
965         https://bugs.webkit.org/show_bug.cgi?id=103611
966
967         Reviewed by Hajime Morita.
968
969         We would like to measure ShadowDOM performance and compare it to the similar functional HTML without using ShadowDOM.
970         In this patch, we add a case when select attribute of HTMLContentElement is changed.
971
972         * ShadowDOM/ChangingSelect.html: Added.
973         * ShadowDOM/ChangingSelectWithoutShadow.html: Added.
974         * Skipped:
975
976 2012-11-19  Shinya Kawanaka  <shinyak@chromium.org>
977
978         Changing id, className, or attribute should invalidate distribution
979         https://bugs.webkit.org/show_bug.cgi?id=100738
980
981         Reviewed by Dimitri Glazkov.
982
983         Added test code to modify id/class/attribute.
984
985         * DOM/ModifyAttribute.html: Added.
986         * DOM/resources/dom-perf/modify-attribute.js: Added.
987         (ModifyAttribute.CreateElementToSetUp):
988         (ModifyAttribute.ModifyId):
989         (ModifyAttribute.ModifyClass):
990         (ModifyAttribute.ModifyTitle):
991
992 2012-11-14  Ryosuke Niwa  <rniwa@webkit.org>
993
994         runCount in runner.js should be renamed to iterationCount
995         https://bugs.webkit.org/show_bug.cgi?id=102208
996
997         Reviewed by Tony Chang.
998
999         Prior to this patch, there were terminology confusions between "runs" and "iterations".
1000         The term "run" should refer to running a performance test once, and "iteration" should
1001         refer to one measurement in the test. i.e. Executing run-perf-should once will result in
1002         a single "run" of performance tests and each test may execute multiple "iterations"
1003         to complete the run.
1004
1005         Unfortunately, we still overload the meaning of "runs" in "runs/s" (is "function calls/s")
1006         but that could be addressed in a separate patch.
1007
1008         * Animation/balls.html:
1009         * DOM/DOMTable.html:
1010         * DOM/resources/dom-perf.js:
1011         * Layout/floats_100_100.html:
1012         * Layout/floats_100_100_nested.html:
1013         * Layout/floats_20_100.html:
1014         * Layout/floats_20_100_nested.html:
1015         * Layout/floats_2_100.html:
1016         * Layout/floats_2_100_nested.html:
1017         * Layout/floats_50_100.html:
1018         * Layout/floats_50_100_nested.html:
1019         * Layout/subtree-detaching.html:
1020         * Parser/html5-full-render.html:
1021         * SVG/SvgHitTesting.html:
1022         * resources/runner.js:
1023
1024 2012-11-13  Dimitri Glazkov  <dglazkov@chromium.org>
1025
1026         Unreviewed, rolling out r134367.
1027         http://trac.webkit.org/changeset/134367
1028         https://bugs.webkit.org/show_bug.cgi?id=100738
1029
1030         Speculative rollout, could have cause Dromaeo setAttribute
1031         perf regression.
1032
1033         * DOM/ModifyAttribute.html: Removed.
1034         * DOM/resources/dom-perf/modify-attribute.js: Removed.
1035
1036 2012-11-12  Shinya Kawanaka  <shinyak@chromium.org>
1037
1038         Changing id, className, or attribute should invalidate distribution
1039         https://bugs.webkit.org/show_bug.cgi?id=100738
1040
1041         Reviewed by Dimitri Glazkov.
1042
1043         Added test code to modify id/class/attribute.
1044
1045         * DOM/ModifyAttribute.html: Added.
1046         * DOM/resources/dom-perf/modify-attribute.js: Added.
1047         (ModifyAttribute.CreateElementToSetUp):
1048         (ModifyAttribute.ModifyId):
1049         (ModifyAttribute.ModifyClass):
1050         (ModifyAttribute.ModifyTitle):
1051
1052 2012-11-06  Adam Barth  <abarth@webkit.org>
1053
1054         DOMImplementation should use ScriptWrappable
1055         https://bugs.webkit.org/show_bug.cgi?id=101279
1056
1057         Reviewed by Eric Seidel.
1058
1059         This simple PerformanceTest measure how quickly we can access
1060         document.implementation. The goal of this performance test is just to
1061         validate that using ScriptWrappable actually makes the bindings faster.
1062
1063         * Bindings/document-implementation.html: Added.
1064
1065 2012-11-05  Geoffrey Garen  <ggaren@apple.com>
1066
1067         WebKit should have performance tests for book chapter reflow
1068         https://bugs.webkit.org/show_bug.cgi?id=101271
1069
1070         Reviewed by Dan Bernstein.
1071
1072         I grabbed a book chapter from the Project Gutenberg front page:
1073
1074         * Layout/chapter-reflow-once.html: Added.
1075         * Layout/chapter-reflow-thrice.html: Added.
1076         * Layout/chapter-reflow-twice.html: Added.
1077         * Layout/chapter-reflow.html: Added.
1078
1079         I also created a torture-test random text generator:
1080
1081         * Layout/chapter-reflow-once-random.html: Added.
1082
1083 2012-10-29  Zoltan Horvath  <zoltan@webkit.org>
1084
1085         Turn PageLoad tests into simple performancetests, commit #7 (last) 
1086         https://bugs.webkit.org/show_bug.cgi?id=99899
1087
1088         Reviewed by Ryosuke Niwa.
1089
1090         We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1091         performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1092         to their new location and adds html/js wrappers for them.
1093
1094         This is the #7 (last) commit of the whole patch.
1095
1096         * PageLoad: Removed.
1097         * PageLoad/svg: Removed.
1098         * PageLoad/svg/LICENSES: Removed.
1099         * PageLoad/svg/files: Removed.
1100         * PageLoad/svg/files/33041-Samurai.svg: Removed.
1101         * PageLoad/svg/files/42450-under the see.svg: Removed.
1102         * PageLoad/svg/files/world-iso.svg: Removed.
1103         * PageLoad/svg/svg.pltsuite: Removed.
1104         * SVG/Samurai.html: Added.
1105         * SVG/UnderTheSee.html: Added.
1106         * SVG/WorldIso.html: Added.
1107         * SVG/resources/LICENSES: Copied from PerformanceTests/PageLoad/svg/LICENSES.
1108         * SVG/resources/Samurai.svg: Copied from PerformanceTests/PageLoad/svg/files/33041-Samurai.svg.
1109         * SVG/resources/UnderTheSee.svg: Copied from PerformanceTests/PageLoad/svg/files/42450-under%20the%20see.svg.
1110         * SVG/resources/WorldIso.svg: Copied from PerformanceTests/PageLoad/svg/files/world-iso.svg.
1111         * SVG/resources/svg.pltsuite: Copied from PerformanceTests/PageLoad/svg/svg.pltsuite.
1112         * Skipped: Rename the files on the skipped list also.
1113
1114 2012-10-26  Eric Seidel  <eric@webkit.org>
1115
1116         Add a microbenchmark for Hindi (complex-text) line-layout
1117         https://bugs.webkit.org/show_bug.cgi?id=100024
1118
1119         Reviewed by Ryosuke Niwa.
1120
1121         I wrote this to make sure that we don't regress line-breaking performance
1122         for the complex-text codepath. This test has shown me that TOT is
1123         already 5% slower than Safari 6.0.1 here. :(
1124
1125         * Layout/hindi-line-layout.html: Added.
1126
1127 2012-10-26  Zoltan Horvath  <zoltan@webkit.org>
1128
1129         Turn PageLoad tests into simple performancetests, commit #6 
1130         https://bugs.webkit.org/show_bug.cgi?id=99899
1131
1132         Reviewed by Ryosuke Niwa.
1133
1134         We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1135         performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1136         to their new location and adds html/js wrappers for them.
1137
1138         This is the #6 commit of the whole patch.
1139
1140         * PageLoad/svg/files/gearflowers.svg: Removed.
1141         * PageLoad/svg/files/hereGear4.svg: Removed.
1142         * PageLoad/svg/files/worldcup.svg: Removed.
1143         * SVG/GearFlowers.html: Added.
1144         * SVG/HereGear.html: Added.
1145         * SVG/Worldcup.html: Added.
1146         * SVG/resources/GearFlowers.svg: Copied from PerformanceTests/PageLoad/svg/files/gearflowers.svg.
1147         * SVG/resources/HereGear.svg: Copied from PerformanceTests/PageLoad/svg/files/hereGear4.svg.
1148         * SVG/resources/Worldcup.svg: Copied from PerformanceTests/PageLoad/svg/files/worldcup.svg.
1149         * Skipped: Rename the files on the skipped list also.
1150
1151 2012-10-26  Zoltan Horvath  <zoltan@webkit.org>
1152
1153         Turn PageLoad tests into simple performancetests, commit #5 
1154         https://bugs.webkit.org/show_bug.cgi?id=99899
1155
1156         Reviewed by Ryosuke Niwa.
1157
1158         We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1159         performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1160         to their new location and adds html/js wrappers for them.
1161
1162         This is the #5 commit of the whole patch.
1163
1164         * PageLoad/svg/files/Harvey_Rayner.svg: Removed.
1165         * PageLoad/svg/files/Sierpinski_carpet_6.svg: Removed.
1166         * PageLoad/svg/files/mtsthelens.svg: Removed.
1167         * PageLoad/svg/files/mtsthelens0.jpg: Removed.
1168         * SVG/HarveyRayner.html: Added.
1169         * SVG/MtSaintHelens.html: Added.
1170         * SVG/SierpinskiCarpet.html: Added.
1171         * SVG/resources/HarveyRayner.svg: Copied from PerformanceTests/PageLoad/svg/files/Harvey_Rayner.svg.
1172         * SVG/resources/MtSaintHelens.svg: Copied from PerformanceTests/PageLoad/svg/files/mtsthelens.svg.
1173         * SVG/resources/SierpinskiCarpet.svg: Copied from PerformanceTests/PageLoad/svg/files/Sierpinski_carpet_6.svg.
1174         * SVG/resources/mtsthelens0.jpg: Copied from PerformanceTests/PageLoad/svg/files/mtsthelens0.jpg.
1175         * Skipped: Rename the files on the skipped list also.
1176
1177 2012-10-25  Zoltan Horvath  <zoltan@webkit.org>
1178
1179         Turn PageLoad tests into simple performancetests, commit #4 
1180         https://bugs.webkit.org/show_bug.cgi?id=99899
1181
1182         Reviewed by Ryosuke Niwa.
1183
1184         We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1185         performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1186         to their new location and adds html/js wrappers for them.
1187
1188         This is the #4 commit of the whole patch.
1189
1190         * PageLoad/svg/files/france.svg: Removed.
1191         * PageLoad/svg/files/francobollo_gnome_ezechi_02.svg: Removed.
1192         * SVG/France.html: Added.
1193         * SVG/FrancoBolloGnomeEzechi.html: Added.
1194         * SVG/resources/France.svg: Copied from PerformanceTests/PageLoad/svg/files/france.svg.
1195         * SVG/resources/FrancoBolloGnomeEzechi.svg: Copied from PerformanceTests/PageLoad/svg/files/francobollo_gnome_ezechi_02.svg.
1196         * Skipped: Rename the files on the skipped list also.
1197
1198 2012-10-25  Zoltan Horvath  <zoltan@webkit.org>
1199
1200         Turn PageLoad tests into simple performancetests, commit #3 
1201         https://bugs.webkit.org/show_bug.cgi?id=99899
1202
1203         Reviewed by Ryosuke Niwa.
1204
1205         We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1206         performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1207         to their new location and adds html/js wrappers for them.
1208
1209         This is the #3 commit of the whole patch.
1210
1211         * PageLoad/svg/files/42470-flower_from_my_garden_v2.svg: Removed.
1212         * PageLoad/svg/files/44057-drops on a blade.svg: Removed.
1213         * PageLoad/svg/files/deb9frac1.svg: Removed.
1214         * PageLoad/svg/files/food_leif_lodahl_01.svg: Removed.
1215         * SVG/Debian.html: Added.
1216         * SVG/DropsOnABlade.html: Added.
1217         * SVG/FlowerFromMyGarden.html: Added.
1218         * SVG/FoodLeifLodahl.html: Added.
1219         * SVG/resources/Debian.svg: Copied from PerformanceTests/PageLoad/svg/files/deb9frac1.svg.
1220         * SVG/resources/DropsOnABlade.svg: Copied from PerformanceTests/PageLoad/svg/files/44057-drops%20on%20a%20blade.svg.
1221         * SVG/resources/FlowerFromMyGarden.svg: Copied from PerformanceTests/PageLoad/svg/files/42470-flower_from_my_garden_v2.svg.
1222         * SVG/resources/FoodLeifLodahl.svg: Copied from PerformanceTests/PageLoad/svg/files/food_leif_lodahl_01.svg.
1223
1224 2012-10-24  Zoltan Horvath  <zoltan@webkit.org>
1225
1226         Turn PageLoad tests into simple performancetests, commit #2 
1227         https://bugs.webkit.org/show_bug.cgi?id=99899
1228
1229         Reviewed by Ryosuke Niwa.
1230
1231         We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1232         performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1233         to their new location and adds html/js wrappers for them.
1234
1235         This is the #2 commit of the whole patch.
1236
1237         * PageLoad/svg/files/cacuts_01.svg: Removed.
1238         * PageLoad/svg/files/cowboy.svg: Removed.
1239         * PageLoad/svg/files/crawfish2_ganson.svg: Removed.
1240         * SVG/Cactus.html: Added.
1241         * SVG/Cowboy.html: Added.
1242         * SVG/CrawFishGanson.html: Added.
1243         * SVG/resources/Cactus.svg: Copied from PerformanceTests/PageLoad/svg/files/cacuts_01.svg.
1244         * SVG/resources/Cowboy.svg: Copied from PerformanceTests/PageLoad/svg/files/cowboy.svg.
1245         * SVG/resources/CrawFishGanson.svg: Copied from PerformanceTests/PageLoad/svg/files/crawfish2_ganson.svg.
1246         * Skipped: Remove az-lizard_benji_park_01.svg from the skipped list.
1247
1248 2012-10-24  Zoltan Horvath  <zoltan@webkit.org>
1249
1250         Turn PageLoad tests into simple performancetests, commit #1 
1251         https://bugs.webkit.org/show_bug.cgi?id=99899
1252
1253         Reviewed by Ryosuke Niwa.
1254
1255         We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1256         performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1257         to their new location and adds html/js wrappers for them.
1258
1259         This is the #1 commit of the whole patch.
1260
1261         * PageLoad/svg/files/az-lizard_benji_park_01.svg: Removed.
1262         * PageLoad/svg/files/bamboo_01.svg: Removed.
1263         * SVG/AzLizardBenjiPark.html: Added.
1264         * SVG/Bamboo.html: Added.
1265         * SVG/resources: Added.
1266         * SVG/resources/AzLizardBenjiPark.svg: Copied from PerformanceTests/PageLoad/svg/files/az-lizard_benji_park_01.svg.
1267         * SVG/resources/Bamboo.svg: Copied from PerformanceTests/PageLoad/svg/files/bamboo_01.svg.
1268
1269 2012-10-24  Zoltan Horvath  <zoltan@webkit.org>
1270
1271         REGRESSION(r131982): Skip SVG/SvgNestedUse.html performancetest since it is crashing
1272         https://bugs.webkit.org/show_bug.cgi?id=100262
1273
1274         Unreviewed.
1275
1276         Skip until proper fix.
1277
1278         * Skipped: Add SVG/SvgNestedUse.html
1279
1280 2012-10-23  Zoltan Horvath  <zoltan@webkit.org>
1281
1282         Store the loaded file locally in measurePageLoadTime
1283         https://bugs.webkit.org/show_bug.cgi?id=100172
1284
1285         Reviewed by Csaba Osztrogonác.
1286
1287         Store the loaded file as a local variable instead of attaching it to the test object.
1288         Handle chunkSize inside test.run.
1289
1290         * resources/runner.js:
1291         (.):
1292
1293 2012-10-23  Zoltan Horvath  <zoltan@webkit.org>
1294
1295         Add measurePageLoadTime function to PerfTestRunner
1296         https://bugs.webkit.org/show_bug.cgi?id=100029
1297
1298         Reviewed by Ryosuke Niwa.
1299
1300         Adopt chunk based loading logic from html5-full-render.html into measurePageLoadTime function,
1301         this is needed to measure the performance and the memory consumption of the PageLoadTests as
1302         we do it for all other performancetests.
1303
1304         * Parser/html5-full-render.html: Move the behavior to runner.js.
1305         * resources/runner.js:
1306         (.): Add measurePageLoadTime function.
1307
1308 2012-10-22  Adam Barth  <abarth@webkit.org>
1309
1310         [V8] Vastly simplify V8GCController's NodeVisitor
1311         https://bugs.webkit.org/show_bug.cgi?id=99884
1312
1313         Reviewed by Kentaro Hara.
1314
1315         Adds some performance tests for the garbage collector.
1316
1317         * Bindings/gc-forest.html: Added.
1318         * Bindings/gc-mini-tree.html: Added.
1319         * Bindings/gc-tree.html: Added.
1320
1321 2012-10-17  Ryosuke Niwa  <rniwa@webkit.org>
1322
1323         Bump up the number of iterations of html5-full-render to 5
1324         https://bugs.webkit.org/show_bug.cgi?id=99657
1325
1326         Reviewed by Andreas Kling.
1327
1328         Now that html5-full-render.html runs in less than 15 seconds after r131553,
1329         we can afford to get 5 instead of 2 samples.
1330
1331         * Parser/html5-full-render.html:
1332
1333 2012-10-17  Ryosuke Niwa  <rniwa@webkit.org>
1334
1335         Rename PerfTestRunner.runPerSecond to PerfTestRunner.measureRunsPerSecond for consistency
1336         https://bugs.webkit.org/show_bug.cgi?id=99642
1337
1338         Reviewed by Dirk Pranke.
1339
1340         Renamed the method.
1341
1342         * Bindings/append-child.html:
1343         * Bindings/create-element.html:
1344         * Bindings/event-target-wrapper.html:
1345         * Bindings/first-child.html:
1346         * Bindings/get-attribute.html:
1347         * Bindings/get-element-by-id.html:
1348         * Bindings/get-elements-by-tag-name.html:
1349         * Bindings/id-getter.html:
1350         * Bindings/id-setter.html:
1351         * Bindings/insert-before.html:
1352         * Bindings/node-list-access.html:
1353         * Bindings/scroll-top.html:
1354         * Bindings/set-attribute.html:
1355         * Bindings/typed-array-construct-from-array.html:
1356         * Bindings/typed-array-construct-from-same-type.html:
1357         * Bindings/typed-array-construct-from-typed.html:
1358         * Bindings/typed-array-set-from-typed.html:
1359         * Bindings/undefined-first-child.html:
1360         * Bindings/undefined-get-element-by-id.html:
1361         * Bindings/undefined-id-getter.html:
1362         * CSS/CSSPropertySetterGetter.html:
1363         * CSS/CSSPropertyUpdateValue.html:
1364         * CSS/PseudoClassSelectors.html:
1365         * DOM/textarea-dom.html:
1366         * DOM/textarea-edit.html:
1367         * Interactive/resources/window-resize.js:
1368         * Layout/flexbox-column-nowrap.html:
1369         * Layout/flexbox-column-wrap.html:
1370         * Layout/flexbox-row-nowrap.html:
1371         * Layout/flexbox-row-wrap.html:
1372         * Layout/line-layout.html:
1373         * Parser/css-parser-yui.html:
1374         * Parser/innerHTML-setter.html:
1375         * Parser/query-selector-deep.html:
1376         * Parser/query-selector-first.html:
1377         * Parser/query-selector-last.html:
1378         * Parser/simple-url.html:
1379         * Parser/textarea-parsing.html:
1380         * Parser/tiny-innerHTML.html:
1381         * Parser/url-parser.html:
1382         * Parser/xml-parser.html:
1383         * SVG/SvgNestedUse.html:
1384         * resources/runner.js:
1385
1386 2012-10-17  Ryosuke Niwa  <rniwa@webkit.org>
1387
1388         Performance test should support asynchronous tests
1389         https://bugs.webkit.org/show_bug.cgi?id=95668
1390
1391         Reviewed by Dirk Pranke.
1392
1393         Added PerfTestRunner.prepareToMeasureValuesAsync and PerfTestRunner.measureValueAsync,
1394         and deployed it in Animation/balls.
1395
1396         * Animation/balls.html:
1397         * resources/runner.js:
1398
1399 2012-10-16  Elliott Sprehn  <esprehn@chromium.org>
1400
1401         html5-full-render.html test uses substring but meant substr
1402         https://bugs.webkit.org/show_bug.cgi?id=99495
1403
1404         Reviewed by Adam Barth.
1405
1406         This test intended to chunk up the HTML5 spec into chunks of 500k chars, but used
1407         substring(to,from) instead of substr(from,length) so it actually loaded 5x more
1408         content than was in the HTML5 spec.
1409
1410         * Parser/html5-full-render.html:
1411
1412 2012-10-11  James Simonsen  <simonjam@chromium.org>
1413
1414         unprefix window.performance.webkitNow()
1415         https://bugs.webkit.org/show_bug.cgi?id=88278
1416
1417         Reviewed by Tony Gentilcore.
1418
1419         * resources/runner.js: Bind to proper object to avoid invalid invocation errors.
1420
1421 2012-10-08  Ryosuke Niwa  <rniwa@webkit.org>
1422
1423         Skip Layout/subtree-detaching.html temporarily as it's very noisy and
1424         takes 112s to run on Chromium Mac. This is tracked by the bug 98708.
1425
1426         * Skipped:
1427
1428 2012-10-08  Ryosuke Niwa  <rniwa@webkit.org>
1429
1430         Perf. test results page is broken when runs have different sets of tests
1431         https://bugs.webkit.org/show_bug.cgi?id=98691
1432
1433         Reviewed by Daniel Bates.
1434
1435         Add "missing" columns for tests that are missing some runs.
1436
1437         Also fix regressions from the previous patch:
1438         - Make reference run switch work again
1439         - Load jquery plugins from the remote server when the jquery is loaded from the remote server.
1440
1441         * resources/results-template.html:
1442
1443 2012-10-08  Ryosuke Niwa  <rniwa@webkit.org>
1444
1445         Perf test pesults page takes forever to load on a machine with a slow Internet connection
1446         https://bugs.webkit.org/show_bug.cgi?id=98561
1447
1448         Reviewed by Ojan Vafai.
1449
1450         Try loading jquery both locally and remotely, and use the same method to load the remaining
1451         jquery plugins when either one succeeds.
1452
1453         * resources/results-template.html:
1454
1455 2012-10-04  Hayato Ito  <hayato@chromium.org>
1456
1457         [Refactoring] Introduce a traversal strategy in SelectorChecker
1458         https://bugs.webkit.org/show_bug.cgi?id=97298
1459
1460         Reviewed by Antti Koivisto.
1461
1462         Introduces querySelector() performance tests to check SelectorChecker performance.
1463
1464         * CSS/PseudoClassSelectors.html: Added.
1465
1466 2012-10-03  Philip Rogers  <pdr@google.com>
1467
1468         Force GC between PageLoad tests.
1469         https://bugs.webkit.org/show_bug.cgi?id=98203
1470
1471         Reviewed by Ryosuke Niwa.
1472
1473         Previously, our PageLoad PerfTests had multi-modal distributions,
1474         typically with a small cluster at 1-2x the median. This turned out
1475         to be caused by not garbage collecting between tests!
1476
1477         This patch adds a new file, force-gc.html, and loads this file between
1478         PageLoad tests to force a GC. I manually verified that this cleans up
1479         our perf test outliers.
1480
1481         * resources/force-gc.html: Added.
1482
1483 2012-10-03  Julien Chaffraix  <jchaffraix@webkit.org>
1484
1485         Add a performance test for subtree detaching
1486         https://bugs.webkit.org/show_bug.cgi?id=98281
1487
1488         Reviewed by Eric Seidel.
1489
1490         The new test tries to stress detaching on a heavy subtree (2 levels deep but with 1,000 nodes per level).
1491         We set display: none on the root and measure the time it takes to update the tree. Note that we will also
1492         measure the time taken by recalcStyle and relayout but I don't think we can avoid that.
1493
1494         * Layout/subtree-detaching.html: Added.
1495
1496 2012-10-02  Ryosuke Niwa  <rniwa@webkit.org>
1497
1498         Build fix after r130135. Dromaeo tests only report single memory value,
1499         and computeStatistics should report variance as 0 in such cases.
1500
1501         * resources/runner.js:
1502
1503 2012-10-02  Philip Rogers  <pdr@google.com>
1504
1505         Fix PerfTest standard deviation calculation.
1506         https://bugs.webkit.org/show_bug.cgi?id=98115
1507
1508         Reviewed by Ryosuke Niwa.
1509
1510         Previously our standard deviation calculation was incorrect. This patch
1511         updates perftest.py's algorithm to calculate the sample standard deviation
1512         (with Bessel's correction) using Knuth's online algorithm:
1513         http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Online_algorithm
1514         An existing test has been modified to prove our new results.
1515
1516         This patch also updates runner.js to use Bessel's correction in
1517         its sample standard deviation calculation, which is more accurate
1518         for small sample sizes.
1519
1520         Additionally, runner.js has been modified to not calculate
1521         the 'sum' statistic, which was not very useful.
1522
1523         * resources/runner.js:
1524         (PerfTestRunner.computeStatistics):
1525
1526 2012-10-01  Ryosuke Niwa  <rniwa@webkit.org>
1527
1528         PerfTestRunner: Move all functions into the closure and always use double quotation for string literals
1529         https://bugs.webkit.org/show_bug.cgi?id=98093
1530
1531         Reviewed by Ojan Vafai.
1532
1533         Move all methods of PerfTestRunner into the closure that defines it.
1534         Also always use double quotations for string literals for consistency.
1535
1536         * resources/runner.js:
1537
1538 2012-10-01  Ryosuke Niwa  <rniwa@webkit.org>
1539
1540         Encapsulate private properties in PerfTestRunner better
1541         https://bugs.webkit.org/show_bug.cgi?id=97833
1542
1543         Reviewed by Ojan Vafai.
1544
1545         This patch moves "private" methods and properties of PerfTestRunner into a closure so that they're
1546         inaccssible from outside. Also catch exceptions from test.run, test.done, and other runner code
1547         to ensure we call notifyDone() even if we broke tests. Otherwise DRT will timeout and we end up
1548         waiting for 10 minutes per each broken test on bots.
1549
1550         * resources/runner.js:
1551         (PerfTestRunner.gc):
1552         (logInDocument): Extracted from PerfTestRunner.log.
1553         (PerfTestRunner.log): Moved.
1554         (logFatalError): Added.
1555         (start): Renamed from PerfTestRunner._start.
1556         (scheduleNextRun): Extracted from PerfTestRunner._runLoop. Also catch any exceptions that happen
1557         in the runner and ignoreWarmUpAndLog so that we don't end up timing out. We call logFatalError in
1558         such cases, which in turn ensures notifyDone() is called.
1559         (ignoreWarmUpAndLog): Renamed from PerfTestRunner._ignoreWarmUpAndLog.
1560         (finish): Extracted from PerfTestRunner._runLoop.
1561         (PerfTestRunner.measureTime): Moved. The initialization of runCount is moved into start().
1562         (measureTimeOnce): Renamed from PerfTestRunner._measureTimeOnce.
1563         (PerfTestRunner.runPerSecond): Moved. Ditto about runCount.
1564         (measureRunsPerSecondOnce): Renamed from PerfTestRunner._measureRunsPerSecondOnce.
1565         (callRunAndMeasureTime): Renamed from PerfTestRunner._perSecondRunnerIterator.
1566
1567 2012-10-01  Florin Malita  <fmalita@chromium.org>
1568
1569         Add a performance test for nested <use> elements
1570         https://bugs.webkit.org/show_bug.cgi?id=98047
1571
1572         Reviewed by Ryosuke Niwa.
1573
1574         Currently at ~5 runs per second on my workstation, but should go up significantly (100+)
1575         after landing a fix for https://bugs.webkit.org/show_bug.cgi?id=97905.
1576
1577         * SVG/SvgNestedUse.html: Added.
1578
1579 2012-09-28  Ryosuke Niwa  <rniwa@webkit.org>
1580
1581         Add back test.runCount for runPerSecond as it's used by tests in fast/harness/perftests.
1582
1583         * resources/runner.js:
1584         (PerfTestRunner.runPerSecond):
1585
1586 2012-09-27  Ryosuke Niwa  <rniwa@webkit.org>
1587
1588         Build fix after r129824.
1589
1590         * DOM/resources/dom-perf.js:
1591         (runBenchmarkSuite):
1592
1593 2012-09-27  Ryosuke Niwa  <rniwa@webkit.org>
1594
1595         Remove unused features and reduce code duplications in PerfTestRunner
1596         https://bugs.webkit.org/show_bug.cgi?id=97852
1597
1598         Reviewed by Kentaro Hara.
1599
1600         Made the following refactoring changes:
1601         - Remove PerfTestRunner.info since it's never used.
1602         - Moved the js heap/malloc related functions up to where they belong.
1603         - Moved the initialization of _callsPerIteration, _test, and -description into _start,
1604           and stopped initializing _runFunction and _doneFunction since both test times now
1605           use _test object.
1606         - Made _measureTimeOnce and _measureRunsPerSecondOnce return the measured value
1607           instead of calling ignoreWarmUpAndLog and _runLoop to share the code; they're now
1608           called in _measureRunsPerSecondOnce.
1609
1610         * resources/runner.js:
1611         (PerfTestRunner.storeHeapResults): Moved.
1612         (PerfTestRunner.getUsedMallocHeap): Moved.
1613         (PerfTestRunner.getUsedJSHeap): Moved.
1614         (PerfTestRunner.getAndPrintMemoryStatistics): Moved.
1615         (PerfTestRunner._scheduleNextMeasurementOrNotifyDone): Renamed from _runLoop. Calls
1616         ignoreWarmUpAndLog and schedules the next call.
1617         (PerfTestRunner._measureTimeOnce): Renamed from _runner.
1618         (PerfTestRunner._start): Renamed from initAndStartLoop.
1619         (PerfTestRunner.measureTime):
1620         (PerfTestRunner.runPerSecond):
1621         (PerfTestRunner._measureRunsPerSecondOnce): Renamed from _measureRunsPerSecondOnce.
1622         (PerfTestRunner._perSecondRunnerIterator):
1623
1624 2012-09-27  Ryosuke Niwa  <rniwa@webkit.org>
1625
1626         PerfTestRunner.run should take an object
1627         https://bugs.webkit.org/show_bug.cgi?id=97743
1628
1629         Reviewed by Kentaro Hara.
1630
1631         Rename PerfTestRunner.run to PerfTestRunner.measureTime and make it take an object instead of
1632         5 arguments. Also get rid of PerfTestRunner._loopsPerRun since it's no longer used (it's always 1).
1633
1634         * CSS/StyleSheetInsert.html:
1635         * DOM/resources/dom-perf.js:
1636         * Layout/floats_100_100.html:
1637         * Layout/floats_100_100_nested.html:
1638         * Layout/floats_20_100.html:
1639         * Layout/floats_20_100_nested.html:
1640         * Layout/floats_2_100.html:
1641         * Layout/floats_2_100_nested.html:
1642         * Layout/floats_50_100.html:
1643         * Layout/floats_50_100_nested.html:
1644         * Parser/html-parser.html:
1645         * Parser/html5-full-render.html:
1646         * SVG/SvgCubics.html:
1647         * SVG/SvgHitTesting.html:
1648         * resources/runner.js:
1649
1650 2012-09-27  Ryosuke Niwa  <rniwa@webkit.org>
1651
1652         PerformanceTests/CSS/StyleSheetInsert.html has a time-dependent non-Gaussian distribution
1653         https://bugs.webkit.org/show_bug.cgi?id=97741
1654
1655         Reviewed by Antti Koivisto.
1656
1657         Reset the content in the iframe in each run so that the runtime from each run follows a normal distribution.
1658         We can cleanup this code once my patch to replace the argument list of run by an object is landed.
1659
1660         * CSS/StyleSheetInsert.html:
1661
1662 2012-09-27  Ryosuke Niwa  <rniwa@webkit.org>
1663
1664         Unreviewed. Minor appearance tweaks after r129813.
1665
1666         * resources/results-template.html:
1667
1668 2012-09-27  Ryosuke Niwa  <rniwa@webkit.org>
1669
1670         Results page should warn about time-dependent distributions
1671         https://bugs.webkit.org/show_bug.cgi?id=97818
1672
1673         Reviewed by Ojan Vafai.
1674
1675         Add a simple linear regression analysis on results page to detect time-dependent distributions.
1676         We add a warning sign (inline SVG) when the regression gave us a slope of at least 0.01 and a R^2 of at least 0.6.
1677         Also added time-series graphs per run under the bar graphs so that humans can manually inspect them.
1678
1679         A nice follow up would be to add some normality test (e.g. Shapiro-Wilk) to detect bi-modal distributions
1680         but we probably need to restructure the code to run it asynchronously since normality tests are slow.
1681
1682         * resources/results-template.html:
1683
1684 2012-09-26  Ryosuke Niwa  <rniwa@webkit.org>
1685
1686         Use runPerSecond in PerformanceTests/Bindings/typed-array* and event-target-wrapper
1687         https://bugs.webkit.org/show_bug.cgi?id=97625
1688
1689         Reviewed by Eric Seidel.
1690
1691         Use PerfTestRunner.runPerSecond instead of PerfTestRunner.run. Also reduce the fixed number of
1692         elements and iterations in these tests by a factor of 10 since runPerSecond can dynamically
1693         adjust the number of function calls.
1694
1695         * Bindings/event-target-wrapper.html:
1696         * Bindings/typed-array-construct-from-array.html:
1697         * Bindings/typed-array-construct-from-same-type.html:
1698         * Bindings/typed-array-construct-from-typed.html:
1699         * Bindings/typed-array-set-from-typed.html:
1700
1701 2012-09-25  Antti Koivisto  <antti@apple.com>
1702
1703         Optimize stylesheet insertions
1704         https://bugs.webkit.org/show_bug.cgi?id=97627
1705
1706         Reviewed by Andreas Kling.
1707
1708         Add synthetic performance test for avoiding style recalcs on stylesheet inserts.
1709
1710         * CSS/StyleSheetInsert.html: Added.
1711
1712 2012-09-25  Ryosuke Niwa  <rniwa@webkit.org>
1713
1714         Skip Dromaeo/jslib-modify-jquery.html per bug 95376.
1715         It runs out of memory on Chromium port, and it takes unreasonably long time (~5 minutes)
1716         to run on other ports.
1717
1718         * Skipped:
1719
1720 2012-09-20  Ryosuke Niwa  <rniwa@webkit.org>
1721
1722         Results page should show indivisual value
1723         https://bugs.webkit.org/show_bug.cgi?id=97178
1724
1725         Reviewed by Tony Chang.
1726
1727         Show indivisual values instead of statistics (min, max, stdev).
1728
1729         * resources/results-template.html:
1730
1731 2012-09-20  Ryosuke Niwa  <rniwa@webkit.org>
1732
1733         run-perf-tests should record individual value instead of statistics
1734         https://bugs.webkit.org/show_bug.cgi?id=97155
1735
1736         Reviewed by Hajime Morita.
1737
1738         Report the list of values as "values" so that run-perf-tests can parse them.
1739
1740         * resources/runner.js:
1741         (PerfTestRunner.computeStatistics):
1742         (PerfTestRunner.printStatistics):
1743
1744 2012-09-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1745
1746         Unreviewed, rolling out r129091.
1747         http://trac.webkit.org/changeset/129091
1748         https://bugs.webkit.org/show_bug.cgi?id=97205
1749
1750         It broke perf tests everywhere (Requested by Ossy on #webkit).
1751
1752         * resources/runner.js:
1753         (PerfTestRunner.computeStatistics):
1754         (PerfTestRunner.printStatistics):
1755
1756 2012-09-19  Ryosuke Niwa  <rniwa@webkit.org>
1757
1758         run-perf-tests should record indivisual value instead of statistics
1759         https://bugs.webkit.org/show_bug.cgi?id=97155
1760
1761         Reviewed by Hajime Morita.
1762
1763         Report the list of values as "values" so that run-perf-tests can parse them.
1764
1765         * resources/runner.js:
1766         (PerfTestRunner.computeStatistics):
1767         (PerfTestRunner.printStatistics):
1768
1769 2012-09-17  Ryosuke Niwa  <rniwa@webkit.org>
1770
1771         Perf test results is incomprehensive
1772         https://bugs.webkit.org/show_bug.cgi?id=94668
1773
1774         Reviewed by Eric Seidel.
1775
1776         Overhauled the results page to have a tabular view. Clicking on each row shows a flot graph we used to have.
1777         For each run and test, we show the mean value with the standard deviation along with the percent difference
1778         against the reference run chosen by the user if the difference is statistically significant; it also indicates
1779         whether the new value is progression or not.
1780
1781         The unit of each test is adjusted automatically using SI prefixes (Kilo, Mega, Milli), and rows can be sorted
1782         by each column. Time and memory results are separated into two tabs.
1783
1784         * resources/jquery.tablesorter.min.js: Added.
1785         * resources/results-template.html:
1786
1787 2012-09-14  Ryosuke Niwa  <rniwa@webkit.org>
1788
1789         Use performance.webkitNow in PerfTestRunner
1790         https://bugs.webkit.org/show_bug.cgi?id=92826
1791
1792         Reviewed by Eric Seidel.
1793
1794         Use performance.webkitNow with Date.now as a fallback for more accurate time measurements.
1795
1796         * resources/runner.js:
1797         (PerfTestRunner._runner):
1798         (PerfTestRunner._perSecondRunnerIterator):
1799
1800 2012-09-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1801
1802         Unreviewed, rolling out r128562.
1803         http://trac.webkit.org/changeset/128562
1804         https://bugs.webkit.org/show_bug.cgi?id=96747
1805
1806         It broke perf tests on Qt and Chromium (Requested by Ossy on
1807         #webkit).
1808
1809         * resources/runner.js:
1810         (PerfTestRunner._runner):
1811         (PerfTestRunner._perSecondRunnerIterator):
1812
1813 2012-09-14  Ryosuke Niwa  <rniwa@webkit.org>
1814
1815         Use performance.webkitNow in PerfTestRunner
1816         https://bugs.webkit.org/show_bug.cgi?id=92826
1817
1818         Reviewed by Eric Seidel.
1819
1820         Use performance.webkitNow with Date.now as a fallback for more acurate time measurements.
1821
1822         * resources/runner.js:
1823         (PerfTestRunner._runner):
1824         (PerfTestRunner._perSecondRunnerIterator):
1825
1826 2012-08-23  Ilya Tikhonovsky  <loislo@chromium.org>
1827
1828         WebInspector: unreviewed single line test fix.
1829
1830         The test has to open profiles panel explicitly because it is creating lazily.
1831
1832         * inspector/heap-snapshot-performance-test.js:
1833
1834 2012-08-15  Scott Graham  <scottmg@chromium.org>
1835
1836         Rename window.internals.fastMallocStatistics to mallocStatistics
1837         https://bugs.webkit.org/show_bug.cgi?id=94033
1838
1839         Reviewed by Adam Barth.
1840
1841         * resources/runner.js:
1842         (PerfTestRunner.storeHeapResults):
1843         (PerfTestRunner.getUsedMallocHeap):
1844         (PerfTestRunner.getAndPrintMemoryStatistics):
1845         (PerfTestRunner.initAndStartLoop):
1846
1847 2012-08-10  Ryosuke Niwa  <rniwa@webkit.org>
1848
1849         Unreviewed; fix an insanely silly typo.
1850
1851         * resources/results-template.html:
1852
1853 2012-08-09  Ryosuke Niwa  <rniwa@webkit.org>
1854
1855         Another build fix after r125178.
1856
1857         * resources/runner.js:
1858
1859 2012-08-09  Zoltan Horvath  <zoltan@webkit.org>
1860
1861         Add memory measurement to balls.html and dromaeorunner.js
1862         https://bugs.webkit.org/show_bug.cgi?id=93617
1863
1864         Reviewed by Adam Barth.
1865
1866         Since we added memory measurement support to performance tests we need to modify these tests.
1867
1868         * Animation/balls.html:
1869         * Dromaeo/resources/dromaeorunner.js:
1870
1871 2012-08-09  Zoltan Horvath  <zoltan@webkit.org>
1872
1873         JSHeap and FastMallocStatistics based memory measurement for performance-tests
1874         https://bugs.webkit.org/show_bug.cgi?id=90858
1875
1876         Reviewed Ryosuke Niwa.
1877
1878         Measure the memory usage of the performancetests with the help of the windows.memory.usedJSHeapSize
1879         object and the window.internals.fastMallocStatistics() function call.
1880
1881         * resources/runner.js:
1882         (PerfTestRunner.logStatistics):
1883         (PerfTestRunner.printStatistics):
1884         (PerfTestRunner.storeHeapResults):
1885         (PerfTestRunner.getUsedFastMallocHeap):
1886         (PerfTestRunner.getUsedJSHeap):
1887         (PerfTestRunner.getAndPrintMemoryStatistics):
1888         (PerfTestRunner.ignoreWarmUpAndLog):
1889         (PerfTestRunner.initAndStartLoop):
1890
1891 2012-08-08  Benjamin Poulain  <benjamin@webkit.org>
1892
1893         Calling internals from the performance test runner prevents manual running
1894         https://bugs.webkit.org/show_bug.cgi?id=93527
1895
1896         Reviewed by Ryosuke Niwa.
1897
1898         Since r125065, it is impossible to run the Performance tests manually. The problem is
1899         "internals" is not defined when running outside the test runner, so the whole script
1900         evaluation fails.
1901
1902         * resources/runner.js: Verify is window.internals is available before invoking something on it.
1903
1904 2012-08-08  Zoltan Horvath  <zoltan@webkit.org>
1905
1906         Set access to MemoryInfo enabled for the performance tests
1907         https://bugs.webkit.org/show_bug.cgi?id=92498
1908
1909         Reviewed by Ryosuke Niwa.
1910
1911         We need access to console.memory for the memory measurements.
1912
1913         * resources/runner.js:
1914
1915 2012-08-07  Ryosuke Niwa  <rniwa@webkit.org>
1916
1917         run-perf-tests should support --no-show-results
1918         https://bugs.webkit.org/show_bug.cgi?id=93409
1919
1920         Reviewed by Dirk Pranke.
1921
1922         Add a flot as a separate file and load it as an external resource.
1923
1924         Also include scripts as external resources from both local filesystem and webkit.org
1925         so that it continues to work regardless of where you put it.
1926
1927         It breaks when someone else receives the file and save it somewhere and doesn't have
1928         a network connection but that seems like a scenario we don't care that much.
1929
1930         * resources/jquery.flot.min.js: Added.
1931         * resources/results-template.html:
1932
1933 2012-08-06  Ryosuke Niwa  <rniwa@webkit.org>
1934
1935         run-webkit-tests should have ability to add description to its JSON output
1936         https://bugs.webkit.org/show_bug.cgi?id=93296
1937
1938         Reviewed by Dirk Pranke.
1939
1940         Parse description and show it with the WebKit revision on the results page. Also use bar graphs
1941         instead of line graphs since we're not depicting the time series here per arv's suggestion.
1942         Finally, add the ability to adjust y-axis between the adjusted value and 0 (plot even doesn't adjust
1943         y-axis automatically now) by a mouse click.
1944
1945         * resources/results-template.html:
1946
1947 2012-08-04  Ryosuke Niwa  <rniwa@webkit.org>
1948
1949         Use testRunner instead of layoutTestController in performance tests
1950         https://bugs.webkit.org/show_bug.cgi?id=93184
1951
1952         Reviewed by Adam Barth.
1953
1954         * Animation/balls.html:
1955         * Dromaeo/resources/dromaeorunner.js:
1956         * inspector/console-300-lines.html:
1957         * inspector/inspector-startup-time.html:
1958         * inspector/network-append-30-requests.html.broken:
1959         * inspector/show-panel.html.broken:
1960         * resources/runner.js:
1961         (PerfTestRunner.logInfo):
1962         (PerfTestRunner.initAndStartLoop):
1963
1964 2012-08-02  Arnaud Renevier  <a.renevier@sisa.samsung.com>
1965
1966         TypedArray set method is slow when called with another typed array
1967         https://bugs.webkit.org/show_bug.cgi?id=92556
1968
1969         Reviewed by Kenneth Russell.
1970
1971         * Bindings/typed-array-set-from-typed.html: Added.
1972
1973 2012-07-28  Ryosuke Niwa  <rniwa@webkit.org>
1974
1975         run-perf-tests should generate a results page
1976         https://bugs.webkit.org/show_bug.cgi?id=92575
1977
1978         Reviewed by Eric Seidel.
1979
1980         Add a results page template. This page includes flot and flot.fillbetween.
1981         jQuery and the json that contains test results are injected by run-perf-tests.
1982
1983         * resources/results-template.html: Added.
1984
1985 2012-07-27  Arnaud Renevier  <a.renevier@sisa.samsung.com>
1986
1987         use createUninitialized when creating TypedArray from another array
1988         https://bugs.webkit.org/show_bug.cgi?id=92518
1989
1990         Reviewed by Kenneth Russell.
1991
1992         * Bindings/typed-array-construct-from-array.html: Added.
1993
1994 2012-07-27  Ryosuke Niwa  <rniwa@webkit.org>
1995
1996         Add more Russian replay performance tests
1997         https://bugs.webkit.org/show_bug.cgi?id=92462
1998
1999         Reviewed by Tony Chang.
2000
2001         Add more Russian sites as suggested by loislo.
2002
2003         * Replay/Russian/lenta.ru.replay: Added.
2004         * Replay/Russian/www.ixbt.com.replay: Added.
2005         * Replay/Russian/www.kp.ru.replay: Added.
2006         * Replay/Russian/www.liveinternet.ru.replay: Added.
2007         * Replay/Russian/www.pravda.ru.replay: Added.
2008
2009 2012-07-26  Arnaud Renevier  <a.renevier@sisa.samsung.com>
2010
2011         constructing TypedArray from another TypedArray is slow
2012         https://bugs.webkit.org/show_bug.cgi?id=90838
2013
2014         Reviewed by Kenneth Russell.
2015
2016         * Bindings/typed-array-construct-from-same-type.html: Added.
2017         * Bindings/typed-array-construct-from-typed.html: Added.
2018
2019 2012-07-25  Ryosuke Niwa  <rniwa@webkit.org>
2020
2021         Import more replay performance tests from Mozilla's Tp5 test suite
2022         https://bugs.webkit.org/show_bug.cgi?id=92229
2023
2024         Reviewed by Andreas Kling.
2025
2026         Add more replay tests based on Mozilla's Tp5 test suite [1]. Unfortunately,
2027         we cannot import all URLs because some of them are not archived on archive.org
2028         and others do not replay well on web-page-replay. Nonethless, we're still adding
2029         60+ URLs in this patch.
2030
2031         [1] http://people.mozilla.org/~jmaher/tp5.manifest
2032
2033         * Replay/Chinese: Added.
2034         * Replay/Chinese/chinaz.com.replay: Added.
2035         * Replay/Chinese/www.163.com.replay: Added.
2036         * Replay/Chinese/www.alipay.com.replay: Added.
2037         * Replay/Chinese/www.baidu.com.replay: Added.
2038         * Replay/Chinese/www.csdn.net.replay: Added.
2039         * Replay/Chinese/www.douban.com.replay: Added.
2040         * Replay/Chinese/www.hao123.com.replay: Added.
2041         * Replay/Chinese/www.xinhuanet.com.replay: Added.
2042         * Replay/Chinese/www.xunlei.com.replay: Added.
2043         * Replay/Chinese/www.youku.com.replay: Added.
2044         * Replay/English: Added.
2045         * Replay/English/beatonna.livejournal.com.replay: Added.
2046         * Replay/English/cakewrecks.blogspot.com.replay: Added.
2047         * Replay/English/chemistry.about.com.replay: Added.
2048         * Replay/English/digg.com.replay: Added.
2049         * Replay/English/en.wikipedia.org-rorschach_test.replay: Added.
2050         * Replay/English/icanhascheezburger.com.replay: Added.
2051         * Replay/English/imgur.com-gallery.replay: Added.
2052         * Replay/English/online.wsj.com.replay: Added.
2053         * Replay/English/stockoverflow.com-best-comment.replay: Added.
2054         * Replay/English/www.alibaba.com.replay: Added.
2055         * Replay/English/www.amazon.com-kindle.replay: Added.
2056         * Replay/English/www.apple.com.replay: Added.
2057         * Replay/English/www.cnet.com.replay: Added.
2058         * Replay/English/www.dailymotion.com.replay: Added.
2059         * Replay/English/www.ehow.com-prevent-fire.replay: Added.
2060         * Replay/English/www.filestube.com-amy-adams.replay: Added.
2061         * Replay/English/www.foxnews.replay: Added.
2062         * Replay/English/www.huffingtonpost.com.replay: Added.
2063         * Replay/English/www.imdb.com-twilight.replay: Added.
2064         * Replay/English/www.mozilla.com-all-order.replay: Added.
2065         * Replay/English/www.php.net.replay: Added.
2066         * Replay/English/www.reddit.com.replay: Added.
2067         * Replay/English/www.telegraph.co.uk.replay: Added.
2068         * Replay/English/www.w3.org-htmlcss.replay: Added.
2069         * Replay/English/www.w3schools.com-html.replay: Added.
2070         * Replay/English/www.youtube.com-music.replay: Added.
2071         * Replay/French: Added.
2072         * Replay/French/www.orange.fr.replay: Added.
2073         * Replay/German: Added.
2074         * Replay/Italian: Added.
2075         * Replay/Italian/www.repubblica.it.replay: Added.
2076         * Replay/Japanese/entameblog.seesaa.net.replay: Added.
2077         * Replay/Japanese/www.hatena.ne.jp.replay: Added.
2078         * Replay/Japanese/www.nicovideo.jp.replay: Added.
2079         * Replay/Korean: Added.
2080         * Replay/Korean/www.naver.com.replay: Added.
2081         * Replay/Persian: Added.
2082         * Replay/Persian/blogfa.com.replay: Added.
2083         * Replay/Polish: Added.
2084         * Replay/Polish/www.wp.pl.replay: Added.
2085         * Replay/Portuguese: Added.
2086         * Replay/Portuguese/www.uol.com.br.replay: Added.
2087         * Replay/Russian: Added.
2088         * Replay/Russian/vkontakte.ru-help.replay: Added.
2089         * Replay/Russian/www.rambler.ru.replay: Added.
2090         * Replay/Russian/www.ucoz.ru.replay: Added.
2091         * Replay/Russian/www.yandex.ru.replay: Added.
2092         * Replay/Spanish: Added.
2093         * Replay/Spanish/www.taringa.net.replay: Added.
2094
2095 2012-07-24  Ryosuke Niwa  <rniwa@webkit.org>
2096
2097         Add some Japanese and Swedish websites to replay tests
2098         https://bugs.webkit.org/show_bug.cgi?id=92076
2099
2100         Reviewed by Andreas Kling.
2101
2102         Added new replay tests as follows.
2103
2104         * Replay/Japanese: Added.
2105         * Replay/Japanese/2ch.net-newsplus.replay: Added.
2106         * Replay/Japanese/ja.wikipedia.org.replay: Added.
2107         * Replay/Japanese/www.livedoor.com.replay: Added.
2108         * Replay/Japanese/www.rakuten.co.jp.replay: Added.
2109         * Replay/Japanese/www.yahoo.co.jp.replay: Added.
2110         * Replay/Swedish: Added.
2111         * Replay/Swedish/www.flashback.se.replay: Added.
2112         * Replay/Swedish/www.tradera.com.replay: Added.
2113         * Replay/www.techcrunch.com.replay: Added.
2114
2115 2012-07-18  MORITA Hajime  <morrita@google.com>
2116
2117         Add window resize benchmark
2118         https://bugs.webkit.org/show_bug.cgi?id=91070
2119
2120         Reviewed by Ryosuke Niwa.
2121
2122         Added window-resize.html which exercise html5.html. This test
2123         resizes the window and forces re-layout repeatedly.
2124
2125         * Interactive/resources/window-resize.js: Added.
2126         * Interactive/window-resize.html: Added.
2127         * Parser/resources/html5.html: Modified to inject driver scripts.
2128
2129 2012-07-11  Philip Rogers  <pdr@google.com>
2130
2131         Add a performance test for hit testing in SVG
2132         https://bugs.webkit.org/show_bug.cgi?id=90811
2133
2134         Reviewed by Ryosuke Niwa.
2135
2136         The shape rendering code is changing a lot and I'd like a performance test to
2137         make sure we don't regress, and to track our improvements.
2138
2139         Performance results in my Linux desktop:
2140             RESULT SVG: SvgHitTesting= 105.0 ms
2141             median= 103.5 ms, stdev= 4.60434577329 ms, min= 101.0 ms, max= 116.0 ms
2142
2143             RESULT SVG: SvgHitTesting= 97.8 ms
2144             median= 96.5 ms, stdev= 2.67581763205 ms, min= 95.0 ms, max= 102.0 ms
2145
2146             RESULT SVG: SvgHitTesting= 104.3 ms
2147             median= 104.0 ms, stdev= 1.41774468788 ms, min= 102.0 ms, max= 107.0 ms
2148
2149             RESULT SVG: SvgHitTesting= 103.6 ms
2150             median= 103.5 ms, stdev= 1.2 ms, min= 102.0 ms, max= 106.0 ms
2151
2152         * SVG/SvgHitTesting.html: Added.
2153
2154 2012-07-03  Jan Keromnes  <janx@linux.com>
2155
2156         Web Inspector: WebInspector.TextViewer should be renamed WebInspector.TextEditor
2157         https://bugs.webkit.org/show_bug.cgi?id=89939
2158
2159         Reviewed by Vsevolod Vlasov.
2160
2161         * inspector/first-open-scripts.html.broken:
2162
2163 2012-06-22  Philip Rogers  <pdr@google.com>
2164
2165         Make SvgCubics performance test more consistent
2166         https://bugs.webkit.org/show_bug.cgi?id=89778
2167
2168         Reviewed by Ryosuke Niwa.
2169
2170         Previously this test ran twice for each iteration, but this led to inconsistent repaints.
2171         This change updates the test to only run once per iteration, and adds even more cubics
2172         so that the test runs consistently in the 80ms range on my Linux desktop.
2173
2174         Performance results on my desktop:
2175             RESULT SVG: SvgCubics= 80.5 ms
2176             median= 82.0 ms, stdev= 3.04138126515 ms, min= 75.0 ms, max= 85.0 ms
2177
2178             RESULT SVG: SvgCubics= 80.1 ms
2179             median= 81.0 ms, stdev= 4.27668095607 ms, min= 74.0 ms, max= 88.0 ms
2180
2181             RESULT SVG: SvgCubics= 81.45 ms
2182             median= 83.0 ms, stdev= 4.01839520207 ms, min= 75.0 ms, max= 89.0 ms
2183
2184             RESULT SVG: SvgCubics= 78.9 ms
2185             median= 80.0 ms, stdev= 4.75289385533 ms, min= 72.0 ms, max= 87.0 ms
2186
2187         * SVG/SvgCubics.html:
2188
2189 2012-06-22  Ilya Tikhonovsky  <loislo@chromium.org>
2190
2191         Web Inspector: partially instrument DOM Tree native memory.
2192         https://bugs.webkit.org/show_bug.cgi?id=89568
2193
2194         This patch adds MemoryInstrumentation class that counts all visited
2195         objects and calls reportMemoryUsage.
2196
2197         Reviewed by Yury Semikhatsky.
2198
2199         * inspector/native-memory-snapshot.html:
2200
2201 2012-06-21  Kentaro Hara  <haraken@chromium.org>
2202
2203         Add a perf-test for innerHTML setter for a large DOM tree
2204         https://bugs.webkit.org/show_bug.cgi?id=89723
2205
2206         Reviewed by Ryosuke Niwa.
2207
2208         We want a benchmark for innerHTML setter for the following reason:
2209
2210         - innerHTML setter is widely used in the real world.
2211         - I am planning to optimize innerHTML setter in the near future.
2212         - I want to use the innerHTML setter benchmark for the patch of bug 88834.
2213
2214         Performance results in my Linux desktop:
2215
2216         RESULT Parser: innerHTML-setter= 289.782649995 runs/s
2217         median= 290.046269741 runs/s, stdev= 1.06575112224 runs/s, min= 286.831812256 runs/s, max= 291.005291005 runs/s
2218
2219         RESULT Parser: innerHTML-setter= 289.020706132 runs/s
2220         median= 289.093298292 runs/s, stdev= 0.985203313093 runs/s, min= 286.831812256 runs/s, max= 290.620871863 runs/s
2221
2222         RESULT Parser: innerHTML-setter= 288.912051701 runs/s
2223         median= 291.005291005 runs/s, stdev= 3.65241325588 runs/s, min= 283.505154639 runs/s, max= 292.553191489 runs/s
2224
2225         RESULT Parser: innerHTML-setter= 288.644186666 runs/s
2226         median= 288.713910761 runs/s, stdev= 1.31889053717 runs/s, min= 286.085825748 runs/s, max= 290.620871863 runs/s
2227
2228         RESULT Parser: innerHTML-setter= 288.698714577 runs/s
2229         median= 288.713910761 runs/s, stdev= 1.03938198202 runs/s, min= 286.458333333 runs/s, max= 290.237467018 runs/s
2230
2231         * Parser/innerHTML-setter.html: Added.
2232
2233 2012-06-20  Philip Rogers  <pdr@google.com>
2234
2235         Add a performance test for paths in SVG
2236         https://bugs.webkit.org/show_bug.cgi?id=89547
2237
2238         Reviewed by Ryosuke Niwa.
2239
2240         This change adds the first performance test for SVG paths.
2241         In the test we modify complex cubic paths in several ways, testing:
2242         transformations, clipping, d attribute changes, stroke properties,
2243         text on a path, and opacity.
2244
2245         Sample test results on my Linux desktop:
2246             RESULT SVG: SvgCubics= 68.85 ms
2247             median= 69.5 ms, stdev= 4.70398767005 ms, min= 56.0 ms, max= 75.0 ms
2248
2249             RESULT SVG: SvgCubics= 68.4 ms
2250             median= 69.0 ms, stdev= 3.51283361405 ms, min= 59.0 ms, max= 74.0 ms
2251
2252             RESULT SVG: SvgCubics= 66.95 ms
2253             median= 67.0 ms, stdev= 3.4420197559 ms, min= 59.0 ms, max= 74.0 ms
2254
2255             RESULT SVG: SvgCubics= 70.2 ms
2256             median= 71.5 ms, stdev= 3.23419232576 ms, min= 63.0 ms, max= 74.0 ms
2257
2258         * SVG: Added.
2259         * SVG/SvgCubics.html: Added.
2260
2261 2012-06-20  Tom Zakrajsek  <tomz@codeaurora.org>
2262
2263         Import themaninblue.com/experiment/AnimationBenchmark/ as performance tests
2264         https://bugs.webkit.org/show_bug.cgi?id=78789
2265
2266         Reviewed by Ryosuke Niwa.
2267
2268         Added PerfTestRunner fixture around it.
2269
2270         * Animation/balls.html: Added.
2271
2272 2012-06-18  Ilya Tikhonovsky  <loislo@chromium.org>
2273
2274         Web Inspector: native memory snapshot performance and coverage test implementation.
2275         https://bugs.webkit.org/show_bug.cgi?id=89363
2276
2277         We have to track the performance of MemoryAgent.getProcessMemoryDistribution.
2278         Also this test will work as a burn down chart for Unknown memory metric.
2279
2280         Reviewed by Pavel Feldman.
2281
2282         * inspector/native-memory-snapshot.html: Added.
2283         * inspector/performance-test.js:
2284         (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer):
2285         (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.reportSize):
2286         (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump):
2287         (initialize_TimeTracker.InspectorTest.runPerformanceTest):
2288
2289 2012-06-05  Alexei Filippov  <alexeif@chromium.org>
2290
2291         Web Inspector: serialize edge counts instead of indexes in heap snapshot
2292         https://bugs.webkit.org/show_bug.cgi?id=88324
2293
2294         The serialized node structure currently holds an index
2295         of its first containment edge in the edges array.
2296         The index can be quite big (up to 7 digits for large snapshots).
2297         The patch changes the serialization format to pass
2298         node containment edge count instead. For most nodes the count
2299         is just a single digit number.
2300         This reduces serialized snapshot size and therefore its transfer time.
2301
2302         Reviewed by Yury Semikhatsky.
2303
2304         * inspector/heap-snapshot-performance-test.js:
2305
2306 2012-06-04  Alexei Filippov  <alexeif@chromium.org>
2307
2308         Web Inspector: speed up _calculateRetainedSizes function
2309         https://bugs.webkit.org/show_bug.cgi?id=87863
2310
2311         Reviewed by Yury Semikhatsky.
2312
2313         * inspector/heap-snapshot-advanced.html: Added.
2314         * inspector/heap-snapshot-performance-test.js: Copied from PerformanceTests/inspector/heap-snapshot.html.
2315         (test.performanceTest.step0):
2316         (test.performanceTest.step1):
2317         (test.performanceTest.step2):
2318         (test.performanceTest.cleanup):
2319         (test.performanceTest.done):
2320         (test.performanceTest):
2321         (test):
2322         * inspector/heap-snapshot.html:
2323
2324 2012-06-03  Kentaro Hara  <haraken@chromium.org>
2325
2326         [perf-test] Add a benchmark of querySelector() for an element that appears in the depths in the document
2327         https://bugs.webkit.org/show_bug.cgi?id=88202
2328
2329         Reviewed by Ryosuke Niwa.
2330
2331         query-selector-first.html tests querySelector() for an element
2332         that appears at the head of the document. query-selector-last.html
2333         tests querySelector() for an element that appears at the tail of
2334         the document. In addition, we want a benchmark of querySelector()
2335         for an element that appears in the depths in the document.
2336
2337         Test results in my Linux desktop:
2338
2339         RESULT Parser: query-selector-deep= 460.776980611 runs/s
2340         median= 460.947503201 runs/s, stdev= 1.72274941942 runs/s, min= 455.696202532 runs/s, max= 463.32046332 runs/s
2341
2342         RESULT Parser: query-selector-deep= 458.925050915 runs/s
2343         median= 459.183673469 runs/s, stdev= 1.47930124139 runs/s, min= 454.545454545 runs/s, max= 460.947503201 runs/s
2344
2345         RESULT Parser: query-selector-deep= 461.866981491 runs/s
2346         median= 461.538461538 runs/s, stdev= 1.14613123359 runs/s, min= 459.183673469 runs/s, max= 463.917525773 runs/s
2347
2348         RESULT Parser: query-selector-deep= 453.922010788 runs/s
2349         median= 454.258855898 runs/s, stdev= 1.77279123317 runs/s, min= 447.204968944 runs/s, max= 455.696202532 runs/s
2350
2351         RESULT Parser: query-selector-deep= 454.666321221 runs/s
2352         median= 454.545454545 runs/s, stdev= 1.65775667417 runs/s, min= 451.127819549 runs/s, max= 456.852791878 runs/s
2353
2354         * Parser/query-selector-deep.html: Added.
2355
2356 2012-06-03  Kentaro Hara  <haraken@chromium.org>
2357
2358         [perf-test] Make query-selector-last.html more realistic
2359         https://bugs.webkit.org/show_bug.cgi?id=88203
2360
2361         Reviewed by Ryosuke Niwa.
2362
2363         query-selector-last.html tests querySelector() for an element
2364         that appears after 1000 div elements, all of which have the same
2365         id and class. To test the performance of querySelector() under
2366         a lot of ids and classes, we should make the ids and classes of
2367         the 1000 elements different.
2368
2369         This patch degrades the performance of query-selector-last.html
2370         by 3.6%.
2371
2372         [Before]
2373         RESULT Parser: query-selector-last= 476.382274152 runs/s
2374         median= 476.821192053 runs/s, stdev= 1.14578875814 runs/s, min= 474.308300395 runs/s, max= 478.087649402 runs/s
2375
2376         RESULT Parser: query-selector-last= 478.423061861 runs/s
2377         median= 478.723404255 runs/s, stdev= 1.54876867255 runs/s, min= 473.684210526 runs/s, max= 481.347773767 runs/s
2378
2379         RESULT Parser: query-selector-last= 479.849287174 runs/s
2380         median= 480.0 runs/s, stdev= 1.69849752498 runs/s, min= 475.561426684 runs/s, max= 481.927710843 runs/s
2381
2382         RESULT Parser: query-selector-last= 476.765438846 runs/s
2383         median= 477.453580902 runs/s, stdev= 1.8724488664 runs/s, min= 471.821756225 runs/s, max= 478.723404255 runs/s
2384
2385         RESULT Parser: query-selector-last= 481.715340644 runs/s
2386         median= 481.637742305 runs/s, stdev= 1.81446361145 runs/s, min= 475.561426684 runs/s, max= 483.675937122 runs/s
2387
2388         [After]
2389         RESULT Parser: query-selector-last= 458.866623582 runs/s
2390         median= 459.183673469 runs/s, stdev= 1.48881464737 runs/s, min= 453.972257251 runs/s, max= 460.947503201 runs/s
2391
2392         RESULT Parser: query-selector-last= 460.363532897 runs/s
2393         median= 460.358056266 runs/s, stdev= 1.58512056995 runs/s, min= 456.273764259 runs/s, max= 462.130937099 runs/s
2394
2395         RESULT Parser: query-selector-last= 457.727448451 runs/s
2396         median= 458.015267176 runs/s, stdev= 1.23681915516 runs/s, min= 453.972257251 runs/s, max= 459.183673469 runs/s
2397
2398         RESULT Parser: query-selector-last= 465.57336853 runs/s
2399         median= 465.717981889 runs/s, stdev= 1.6616925374 runs/s, min= 460.947503201 runs/s, max= 467.532467532 runs/s
2400
2401         RESULT Parser: query-selector-last= 459.836252019 runs/s
2402         median= 459.770114943 runs/s, stdev= 1.84485630505 runs/s, min= 455.696202532 runs/s, max= 462.724935733 runs/s
2403
2404         * Parser/query-selector-last.html:
2405
2406 2012-06-01  Ryosuke Niwa  <rniwa@webkit.org>
2407
2408         Add public page loading performance tests using web-page-replay
2409         https://bugs.webkit.org/show_bug.cgi?id=84008
2410
2411         Reviewed by Dirk Pranke.
2412
2413         Add replay tests for google.com and youtube.com as examples.
2414
2415         * Replay: Added.
2416         * Replay/www.google.com.replay: Added.
2417         * Replay/www.youtube.com.replay: Added.
2418
2419 2012-05-30  Kentaro Hara  <haraken@chromium.org>
2420
2421         [perf-test] Add a benchmark for querySelector()
2422         https://bugs.webkit.org/show_bug.cgi?id=87742
2423
2424         Reviewed by Ryosuke Niwa.
2425
2426         Now I am optimizing querySelector() (bug 87625).
2427         This patch adds a performance test for querySelector().
2428         query-selector-first.html queries an element that appears
2429         at the head of the document. On the other hand,
2430         query-selector-last.html queries an element that appears
2431         at the tail of the document.
2432
2433         Test results in my desktop:
2434
2435         [query-selector-first.html]
2436         RESULT Parser: query-selector-first= 252.339803014 runs/s
2437         median= 253.646265594 runs/s, stdev= 2.32610873209 runs/s, min= 248.138957816 runs/s, max= 254.777070064 runs/s
2438
2439         RESULT Parser: query-selector-first= 252.688468897 runs/s
2440         median= 252.684876579 runs/s, stdev= 3.60008778708 runs/s, min= 246.002460025 runs/s, max= 258.397932817 runs/s
2441
2442         RESULT Parser: query-selector-first= 253.466019656 runs/s
2443         median= 254.129606099 runs/s, stdev= 1.78002675664 runs/s, min= 247.831474597 runs/s, max= 254.777070064 runs/s
2444
2445         RESULT Parser: query-selector-first= 256.245078189 runs/s
2446         median= 257.06940874 runs/s, stdev= 2.84722072201 runs/s, min= 249.687890137 runs/s, max= 259.74025974 runs/s
2447
2448         RESULT Parser: query-selector-first= 252.203100497 runs/s
2449         median= 252.047989175 runs/s, stdev= 1.75233446036 runs/s, min= 248.138957816 runs/s, max= 255.427841635 runs/s
2450
2451         [query-selector-last.html]
2452         RESULT Parser: query-selector-last= 356.009616076 runs/s
2453         median= 355.781448539 runs/s, stdev= 0.841519086864 runs/s, min= 354.430379747 runs/s, max= 358.056265985 runs/s
2454
2455         RESULT Parser: query-selector-last= 360.735271001 runs/s
2456         median= 361.057532424 runs/s, stdev= 1.12253219867 runs/s, min= 358.514724712 runs/s, max= 362.225097025 runs/s
2457
2458         RESULT Parser: query-selector-last= 359.598592463 runs/s
2459         median= 359.435173299 runs/s, stdev= 0.816538258728 runs/s, min= 358.056265985 runs/s, max= 360.824742268 runs/s
2460
2461         RESULT Parser: query-selector-last= 357.260651715 runs/s
2462         median= 357.598978289 runs/s, stdev= 1.17393159885 runs/s, min= 353.982300885 runs/s, max= 358.974358974 runs/s
2463
2464         RESULT Parser: query-selector-last= 351.696240713 runs/s
2465         median= 351.980025916 runs/s, stdev= 1.14200564038 runs/s, min= 348.692403487 runs/s, max= 353.535353535 runs/s
2466
2467         * Parser/query-selector-first.html: Added.
2468         * Parser/query-selector-last.html: Added.
2469
2470 2012-05-25  Ilya Tikhonovsky  <loislo@chromium.org>
2471
2472         Web Inspector: HeapSnapshot: introduce performance counter for HeapSnapshotConstructorsDataGrid._aggregatesReceived method.
2473         https://bugs.webkit.org/show_bug.cgi?id=87393
2474
2475         Reviewed by Yury Semikhatsky.
2476
2477         * inspector/heap-snapshot.html:
2478
2479 2012-05-25  Ilya Tikhonovsky  <loislo@chromium.org>
2480
2481         Web Inspector: HeapProfiler's perf test: each N-th run pushes the run results N-th times.
2482         https://bugs.webkit.org/show_bug.cgi?id=87476
2483
2484         The time tracking wrappers were attaching on each run.
2485
2486         Reviewed by Yury Semikhatsky.
2487
2488         * inspector/heap-snapshot.html:
2489
2490 2012-05-22  Ilya Tikhonovsky  <loislo@chromium.org>
2491
2492         Web Inspector: HeapProfiler: upstream retainedSize calculation.
2493         https://bugs.webkit.org/show_bug.cgi?id=87107
2494
2495         This patch upstreams V8::HeapSnapshotGenerator::CalculateRetainedSizes function to front-end.
2496         After that we will be able to drop retainedSize field from the snapshot serialized data.
2497         See meta-bug https://bugs.webkit.org/show_bug.cgi?id=87089
2498
2499         Reviewed by Yury Semikhatsky.
2500
2501         * inspector/heap-snapshot.html: add counter for the _calculateRetainedSize method.
2502
2503 2012-05-21  Kent Tamura  <tkent@chromium.org>
2504
2505         Add performance tests for <textarea>
2506         https://bugs.webkit.org/show_bug.cgi?id=86994
2507
2508         Reviewed by Ryosuke Niwa.
2509
2510         * DOM/textarea-dom.html: Added.
2511         * DOM/textarea-edit.html: Added.
2512         * Parser/textarea-parsing.html: Added.
2513
2514 2012-05-18  Ilya Tikhonovsky  <loislo@chromium.org>
2515
2516         Web Inspector: upstream build dominators tree procedure from v8.
2517         https://bugs.webkit.org/show_bug.cgi?id=86640
2518
2519         The idea is to reduce transfer size and move all the post-processing steps to the front-end.
2520         The JS implementation is ~1.5 times slower.
2521
2522         Reviewed by Yury Semikhatsky.
2523
2524         Covered by existing tests and performance tests.
2525
2526         * inspector/heap-snapshot.html:
2527
2528 2012-05-18  Kentaro Hara  <haraken@chromium.org>
2529
2530         [perf-test] Remove Bindings/dom-attributes.html
2531         https://bugs.webkit.org/show_bug.cgi?id=86820
2532
2533         Reviewed by Ryosuke Niwa.
2534
2535         Bindings/dom-attributes.html is just a collection of random
2536         DOM attributes and methods. Now we've added more reasonable
2537         micro benchmarks by classifying DOM binding call paths, we
2538         can remove Bindings/dom-attributes.html.
2539
2540         * Bindings/dom-attributes.html: Removed.
2541
2542 2012-05-18  Kentaro Hara  <haraken@chromium.org>
2543
2544         [perf-test] Add a binding benchmark for getElementById() for an undefined id
2545         https://bugs.webkit.org/show_bug.cgi?id=86812
2546
2547         Reviewed by Ryosuke Niwa.
2548
2549         We should remove Bindings/dom-attributes.html and instead add more
2550         reasonable micro benchmarks by classifying DOM binding call paths.
2551
2552         This patch adds a benchmark for document.getElementById() for an undefined id.
2553         This benchmark covers 'getElementById (not in document)' in Dromaeo/dom-query.html,
2554         and other Node-query methods that return a null.'
2555
2556         (Note: This benchmark is slower than document.getElementById() for a defined id.
2557         We will fix the performance issue soon.)
2558
2559         Test results in my Linux desktop:
2560
2561         RESULT Bindings: undefined-get-element-by-id= 271.945751345 runs/s
2562         median= 273.122389532 runs/s, stdev= 6.78219237299 runs/s, min= 257.4002574 runs/s, max= 281.690140845 runs/s
2563
2564         RESULT Bindings: undefined-get-element-by-id= 269.105872408 runs/s
2565         median= 268.948655257 runs/s, stdev= 5.73707323755 runs/s, min= 257.4002574 runs/s, max= 278.128950695 runs/s
2566
2567         RESULT Bindings: undefined-get-element-by-id= 269.987513372 runs/s
2568         median= 272.952853598 runs/s, stdev= 5.30252336078 runs/s, min= 255.754475703 runs/s, max= 273.97260274 runs/s
2569
2570         RESULT Bindings: undefined-get-element-by-id= 270.169625901 runs/s
2571         median= 271.604938272 runs/s, stdev= 5.29502391906 runs/s, min= 258.064516129 runs/s, max= 278.481012658 runs/s
2572
2573         RESULT Bindings: undefined-get-element-by-id= 269.054631422 runs/s
2574         median= 267.966292802 runs/s, stdev= 6.27197240579 runs/s, min= 258.064516129 runs/s, max= 278.481012658 runs/s
2575
2576         * Bindings/undefined-get-element-by-id.html: Added.
2577
2578 2012-05-18  Kentaro Hara  <haraken@chromium.org>
2579
2580         [perf-test] Add a binding benchmark for getElementsByTagName()
2581         https://bugs.webkit.org/show_bug.cgi?id=86810
2582
2583         Reviewed by Ryosuke Niwa.
2584
2585         We should remove Bindings/dom-attributes.html and instead add more
2586         reasonable micro benchmarks by classifying DOM binding call paths.
2587
2588         This patch adds a benchmark for document.getElementsByTagName().
2589         This benchmark covers 'getElementsByTagName (not in document)',
2590         'getElementsByTagName', 'getElementsByName (not in document)'
2591         and 'getElementsByName' in Dromaeo/dom-query.html, and other DOM
2592         methods that return a NodeList.
2593
2594         Test results in my Linux desktop:
2595
2596         RESULT Bindings: get-elements-by-tag-name= 364.542328875 runs/s
2597         median= 366.972477064 runs/s, stdev= 5.25387955333 runs/s, min= 351.317440402 runs/s, max= 368.421052632 runs/s
2598
2599         RESULT Bindings: get-elements-by-tag-name= 364.341569369 runs/s
2600         median= 366.492146597 runs/s, stdev= 4.867374197 runs/s, min= 352.644836272 runs/s, max= 367.936925099 runs/s
2601
2602         RESULT Bindings: get-elements-by-tag-name= 363.924242967 runs/s
2603         median= 366.013071895 runs/s, stdev= 5.16768212289 runs/s, min= 351.317440402 runs/s, max= 367.936925099 runs/s
2604
2605         RESULT Bindings: get-elements-by-tag-name= 365.332594438 runs/s
2606         median= 367.454068241 runs/s, stdev= 6.17046918572 runs/s, min= 350.0 runs/s, max= 370.37037037 runs/s
2607
2608         RESULT Bindings: get-elements-by-tag-name= 363.999514324 runs/s
2609         median= 366.492146597 runs/s, stdev= 5.31235674905 runs/s, min= 350.877192982 runs/s, max= 368.421052632 runs/s
2610
2611         * Bindings/get-elements-by-tag-name.html: Added.
2612
2613 2012-05-18  Kentaro Hara  <haraken@chromium.org>
2614
2615         [perf-test] Add 7 micro benchmarks for DOM bindings
2616         https://bugs.webkit.org/show_bug.cgi?id=86816
2617
2618         Reviewed by Ryosuke Niwa.
2619
2620         We should remove Bindings/dom-attributes.html and instead add more
2621         reasonable micro benchmarks by classifying DOM binding call paths.
2622         This patch adds seven micro benchmarks for DOM bindings.
2623
2624         id-getter.html covers 'element.property' in Dromaeo/dom-attr.html,
2625         'innerHTML' in Dromaeo/dom-modify.html, and other DOM attributes that
2626         return a String.
2627
2628         id-setter.html covers 'element.property = value' in Dromaeo/dom-attr.html,
2629         and other DOM attributes that sets a String.
2630
2631         undefined-id-getter.html covers undefined DOM attributes that return an empty String.
2632
2633         append-child.html covers 'appendChild' and 'removeChild' in Dromaeo/dom-modify.html.
2634
2635         insert-before.html covers 'insertBefore' in Dromaeo/dom-modify.html and replaceChild().
2636
2637         create-element.html covers 'createElement', 'createTextNode' and 'cloneNode'
2638         in Dromaeo/dom-modify.html, and other DOM methods that return a new Node object.
2639
2640         node-list-access.html covers 'childNodes' in Dromaeo/dom-traverse.html,
2641         and other DOM attributes that access NodeList.
2642
2643         Test results in my Linux desktop:
2644
2645         [id-getter]
2646         RESULT Bindings: id-getter= 550.517821097 runs/s
2647         median= 550.688360451 runs/s, stdev= 0.970723739106 runs/s, min= 548.628428928 runs/s, max= 552.070263488 runs/s
2648
2649         RESULT Bindings: id-getter= 550.655839847 runs/s
2650         median= 550.688360451 runs/s, stdev= 1.03312821884 runs/s, min= 549.313358302 runs/s, max= 552.070263488 runs/s
2651
2652         RESULT Bindings: id-getter= 550.277753355 runs/s
2653         median= 550.344180225 runs/s, stdev= 1.19960683464 runs/s, min= 547.945205479 runs/s, max= 552.070263488 runs/s
2654
2655         RESULT Bindings: id-getter= 550.072271009 runs/s
2656         median= 550.344180225 runs/s, stdev= 1.38925152131 runs/s, min= 547.263681592 runs/s, max= 552.070263488 runs/s
2657
2658         RESULT Bindings: id-getter= 548.802050235 runs/s
2659         median= 548.628428928 runs/s, stdev= 1.18244513683 runs/s, min= 545.905707196 runs/s, max= 550.688360451 runs/s
2660
2661         [id-setter]
2662         RESULT Bindings: id-setter= 211.370591663 runs/s
2663         median= 210.803689065 runs/s, stdev= 1.4555795889 runs/s, min= 209.973753281 runs/s, max= 214.285714286 runs/s
2664
2665         RESULT Bindings: id-setter= 215.439081352 runs/s
2666         median= 214.797136038 runs/s, stdev= 1.50920388121 runs/s, min= 213.049267643 runs/s, max= 218.446601942 runs/s
2667
2668         RESULT Bindings: id-setter= 216.721698466 runs/s
2669         median= 215.956886352 runs/s, stdev= 1.54090749644 runs/s, min= 214.285714286 runs/s, max= 219.78021978 runs/s
2670
2671         RESULT Bindings: id-setter= 216.343019087 runs/s
2672         median= 215.827338129 runs/s, stdev= 1.46619894553 runs/s, min= 215.053763441 runs/s, max= 218.97810219 runs/s
2673
2674         RESULT Bindings: id-setter= 216.799288017 runs/s
2675         median= 215.956886352 runs/s, stdev= 1.49100776978 runs/s, min= 215.311004785 runs/s, max= 219.78021978 runs/s
2676
2677         [undefined-id-getter]
2678         RESULT Bindings: undefined-id-getter= 494.104255241 runs/s
2679         median= 494.132368875 runs/s, stdev= 1.13092821109 runs/s, min= 490.797546012 runs/s, max= 495.662949195 runs/s
2680
2681         RESULT Bindings: undefined-id-getter= 493.921802916 runs/s
2682         median= 493.827160494 runs/s, stdev= 1.25097443119 runs/s, min= 490.196078431 runs/s, max= 495.662949195 runs/s
2683
2684         RESULT Bindings: undefined-id-getter= 491.976485667 runs/s
2685         median= 492.004920049 runs/s, stdev= 0.947090576896 runs/s, min= 490.196078431 runs/s, max= 493.827160494 runs/s
2686
2687         RESULT Bindings: undefined-id-getter= 491.987710185 runs/s
2688         median= 494.132368875 runs/s, stdev= 8.66602543327 runs/s, min= 454.545454545 runs/s, max= 495.662949195 runs/s
2689
2690         RESULT Bindings: undefined-id-getter= 494.195515847 runs/s
2691         median= 494.437577256 runs/s, stdev= 1.06135681702 runs/s, min= 490.797546012 runs/s, max= 495.662949195 runs/s
2692
2693         [append-child]
2694         RESULT Bindings: append-child= 260.628237026 runs/s
2695         median= 260.926399352 runs/s, stdev= 2.55231060598 runs/s, min= 256.739409499 runs/s, max= 265.604249668 runs/s
2696
2697         RESULT Bindings: append-child= 280.796193436 runs/s
2698         median= 280.791435348 runs/s, stdev= 2.53961321867 runs/s, min= 277.427490542 runs/s, max= 286.085825748 runs/s
2699
2700         RESULT Bindings: append-child= 279.856209714 runs/s
2701         median= 280.25477707 runs/s, stdev= 2.85447647301 runs/s, min= 275.344180225 runs/s, max= 284.237726098 runs/s
2702
2703         RESULT Bindings: append-child= 280.834502714 runs/s
2704         median= 280.25477707 runs/s, stdev= 2.67738046429 runs/s, min= 277.427490542 runs/s, max= 287.206266319 runs/s
2705
2706         RESULT Bindings: append-child= 274.723872106 runs/s
2707         median= 273.291925466 runs/s, stdev= 3.03671746706 runs/s, min= 272.614622057 runs/s, max= 282.413350449 runs/s
2708
2709         [insert-before]
2710         RESULT Bindings: insert-before= 180.986913006 runs/s
2711         median= 180.878552972 runs/s, stdev= 0.758038687299 runs/s, min= 180.18018018 runs/s, max= 183.968462549 runs/s
2712
2713         RESULT Bindings: insert-before= 186.339916144 runs/s
2714         median= 186.170212766 runs/s, stdev= 0.869022097127 runs/s, min= 185.676392573 runs/s, max= 189.798339265 runs/s
2715
2716         RESULT Bindings: insert-before= 189.45344838 runs/s
2717         median= 189.349112426 runs/s, stdev= 0.811854866567 runs/s, min= 187.79342723 runs/s, max= 192.539109507 runs/s
2718
2719         RESULT Bindings: insert-before= 189.363295991 runs/s
2720         median= 189.349112426 runs/s, stdev= 0.75387713097 runs/s, min= 188.014101058 runs/s, max= 192.076830732 runs/s
2721
2722         RESULT Bindings: insert-before= 189.252041642 runs/s
2723         median= 189.349112426 runs/s, stdev= 0.840447225363 runs/s, min= 187.573270809 runs/s, max= 192.076830732 runs/s
2724
2725         [create-element]
2726         RESULT Bindings: create-element= 280.675830077 runs/s
2727         median= 280.701824914 runs/s, stdev= 0.788606343054 runs/s, min= 279.441117764 runs/s, max= 282.542885974 runs/s
2728
2729         RESULT Bindings: create-element= 276.427631436 runs/s
2730         median= 277.227722772 runs/s, stdev= 3.39874667549 runs/s, min= 262.417994377 runs/s, max= 279.162512463 runs/s
2731
2732         RESULT Bindings: create-element= 277.156894411 runs/s
2733         median= 277.227722772 runs/s, stdev= 1.13255119226 runs/s, min= 274.914089347 runs/s, max= 278.884462151 runs/s
2734
2735         RESULT Bindings: create-element= 278.066825356 runs/s
2736         median= 278.191822254 runs/s, stdev= 0.686497782792 runs/s, min= 276.953511375 runs/s, max= 279.162512463 runs/s
2737
2738         RESULT Bindings: create-element= 276.431538109 runs/s
2739         median= 276.406712734 runs/s, stdev= 0.759593662298 runs/s, min= 275.229357798 runs/s, max= 278.053624628 runs/s
2740
2741         [node-list-access]
2742         RESULT Bindings: node-list-access= 222.747504073 runs/s
2743         median= 222.772277228 runs/s, stdev= 0.789027527555 runs/s, min= 221.674876847 runs/s, max= 224.159402242 runs/s
2744
2745         RESULT Bindings: node-list-access= 220.722448287 runs/s
2746         median= 221.266217576 runs/s, stdev= 1.65463497875 runs/s, min= 217.391304348 runs/s, max= 222.222222222 runs/s
2747
2748         RESULT Bindings: node-list-access= 222.195870443 runs/s
2749         median= 222.222222222 runs/s, stdev= 0.489709262091 runs/s, min= 221.13022113 runs/s, max= 223.048327138 runs/s
2750
2751         RESULT Bindings: node-list-access= 221.431121677 runs/s
2752         median= 221.538545435 runs/s, stdev= 0.608292116087 runs/s, min= 220.048899756 runs/s, max= 222.772277228 runs/s
2753
2754         RESULT Bindings: node-list-access= 219.001367135 runs/s
2755         median= 221.538545435 runs/s, stdev= 4.65773933007 runs/s, min= 209.973753281 runs/s, max= 222.496909765 runs/s
2756
2757         * Bindings/append-child.html: Added.
2758         * Bindings/create-element.html: Added.
2759         * Bindings/id-getter.html: Added.
2760         * Bindings/id-setter.html: Added.
2761         * Bindings/insert-before.html: Added.
2762         * Bindings/node-list-access.html: Added.
2763         * Bindings/undefined-id-getter.html: Added.
2764
2765 2012-05-18  Kentaro Hara  <haraken@chromium.org>
2766
2767         [perf-test] Add a binding benchmark for div.setAttribute()
2768         https://bugs.webkit.org/show_bug.cgi?id=86815
2769
2770         Reviewed by Ryosuke Niwa.
2771
2772         We should remove Bindings/dom-attributes.html and instead add more
2773         reasonable micro benchmarks by classifying DOM binding call paths.
2774
2775         This patch adds a benchmark for div.setAttribute(). This benchmark
2776         covers 'setAttribute' in Dromaeo/dom-attr.html and other DOM methods
2777         that return an undefined.
2778
2779         Test results in my Linux desktop:
2780
2781         RESULT Bindings: set-attribute= 793.745073252 runs/s
2782         median= 791.589665765 runs/s, stdev= 6.00467159709 runs/s, min= 785.27607362 runs/s, max= 808.080808081 runs/s
2783
2784         RESULT Bindings: set-attribute= 790.858444164 runs/s
2785         median= 787.918921436 runs/s, stdev= 7.86264953655 runs/s, min= 780.234070221 runs/s, max= 806.04534005 runs/s
2786
2787         RESULT Bindings: set-attribute= 787.277571417 runs/s
2788         median= 784.31372549 runs/s, stdev= 7.45363346657 runs/s, min= 778.588807786 runs/s, max= 804.020100503 runs/s
2789
2790         RESULT Bindings: set-attribute= 782.401393791 runs/s
2791         median= 779.062978802 runs/s, stdev= 6.48250081621 runs/s, min= 777.642770352 runs/s, max= 796.019900498 runs/s
2792
2793         RESULT Bindings: set-attribute= 791.792516608 runs/s
2794         median= 791.556728232 runs/s, stdev= 6.49182980397 runs/s, min= 779.220779221 runs/s, max= 808.080808081 runs/s
2795
2796         * Bindings/set-attribute.html: Added.
2797
2798 2012-05-17  Kentaro Hara  <haraken@chromium.org>
2799
2800         [perf-test] Add a binding benchmark for div.getAttribute()
2801         https://bugs.webkit.org/show_bug.cgi?id=86814
2802
2803         Reviewed by Ryosuke Niwa.
2804
2805         We should remove Bindings/dom-attributes.html and instead add more
2806         reasonable micro benchmarks by classifying DOM binding call paths.
2807
2808         This patch adds a benchmark for div.getAttribute(). This benchmark
2809         covers 'getAttribute' in Dromaeo/dom-attr.html, and other DOM methods
2810         that return a String.
2811
2812         Test results in my Linux desktop:
2813
2814         RESULT Bindings: get-attribute= 250.088158538 runs/s
2815         median= 250.469728765 runs/s, stdev= 4.66551901315 runs/s, min= 240.673886883 runs/s, max= 256.739409499 runs/s
2816
2817         RESULT Bindings: get-attribute= 250.209764698 runs/s
2818         median= 250.626959986 runs/s, stdev= 4.12030002477 runs/s, min= 241.254523522 runs/s, max= 255.102040816 runs/s
2819
2820         RESULT Bindings: get-attribute= 248.907532887 runs/s
2821         median= 250.312891114 runs/s, stdev= 3.23173125874 runs/s, min= 240.673886883 runs/s, max= 251.572327044 runs/s
2822
2823         RESULT Bindings: get-attribute= 250.243680844 runs/s
2824         median= 250.783797637 runs/s, stdev= 4.19327170024 runs/s, min= 240.963855422 runs/s, max= 255.102040816 runs/s
2825
2826         RESULT Bindings: get-attribute= 245.329046608 runs/s
2827         median= 244.948040416 runs/s, stdev= 2.24314248534 runs/s, min= 240.384615385 runs/s, max= 248.756218905 runs/s
2828
2829         * Bindings/get-attribute.html: Added.
2830
2831 2012-05-17  Kentaro Hara  <haraken@chromium.org>
2832
2833         [perf-test] Add a binding benchmark for getElementById()
2834         https://bugs.webkit.org/show_bug.cgi?id=86808
2835
2836         Reviewed by Ryosuke Niwa.
2837
2838         Currently Bindings/dom-attributes.html is just a collection
2839         of random DOM attributes and methods. We should remove it and
2840         instead add more reasonable micro benchmarks by classifying
2841         DOM binding call paths.
2842
2843         This patch adds a benchmark for document.getElementById(),
2844         which covers other DOM methods that return a Node Object.
2845
2846         The reason why we want to add a benchmark for document.getElementById()
2847         in spite of the fact that Dromaeo/dom-query.html is already testing
2848         document.getElementById(), is that Dromaeo/dom-query.html outputs one
2849         result for several benchmarks (i.e. getElementById().nodeType,
2850         getElementsByTagName()[0].nodeType etc), and thus we cannot observe
2851         regression of getElementById() itself. (Catching regression of
2852         getElementById() would be critical.)
2853
2854         Test results in my Linux desktop:
2855
2856         RESULT Bindings: get-element-by-id= 300.933707795 runs/s
2857         median= 302.267002519 runs/s, stdev= 3.04954648504 runs/s, min= 295.930949445 runs/s, max= 305.34351145 runs/s
2858
2859         RESULT Bindings: get-element-by-id= 302.030324483 runs/s
2860         median= 302.267481977 runs/s, stdev= 1.78518068367 runs/s, min= 298.507462687 runs/s, max= 304.568527919 runs/s
2861
2862         RESULT Bindings: get-element-by-id= 301.993483538 runs/s
2863         median= 302.648171501 runs/s, stdev= 1.87604126626 runs/s, min= 296.662546354 runs/s, max= 304.568527919 runs/s
2864
2865         RESULT Bindings: get-element-by-id= 301.936607982 runs/s
2866         median= 302.45758701 runs/s, stdev= 1.88991087072 runs/s, min= 298.879202989 runs/s, max= 304.955527319 runs/s
2867
2868         RESULT Bindings: get-element-by-id= 301.952234563 runs/s
2869         median= 302.648171501 runs/s, stdev= 1.59929752614 runs/s, min= 299.625468165 runs/s, max= 304.568527919 runs/s
2870
2871         * Bindings/get-element-by-id.html: Added.
2872
2873 2012-05-17  Kentaro Hara  <haraken@chromium.org>
2874
2875         [perf-test] Add a benchmark for body.scrollTop
2876         https://bugs.webkit.org/show_bug.cgi?id=86806
2877
2878         Reviewed by Ryosuke Niwa.
2879
2880         Currently Bindings/dom-attributes.html is just a collection of random
2881         DOM attributes and methods. We should remove it and instead add more
2882         reasonable micro benchmarks by classifying DOM binding call paths.
2883
2884         This patch adds a benchmark for body.scrollTop, which covers other
2885         DOM attributes that return small integers.
2886
2887         (Note: Performance optimization for the benchmark will be coming soon.)
2888
2889         Test results in my Linux desktop:
2890
2891         RESULT Bindings: scroll-top= 209.410654239 runs/s
2892         median= 211.64021164 runs/s, stdev= 4.09958741195 runs/s, min= 201.005025126 runs/s, max= 212.483399734 runs/s
2893
2894         RESULT Bindings: scroll-top= 195.651111157 runs/s
2895         median= 196.319018405 runs/s, stdev= 1.77011627406 runs/s, min= 191.846522782 runs/s, max= 197.28729963 runs/s
2896         RESULT Bindings: scroll-top= 200.004907612 runs/s
2897         median= 201.511335013 runs/s, stdev= 3.27455403827 runs/s, min= 193.236714976 runs/s, max= 202.53164557 runs/s
2898
2899         RESULT Bindings: scroll-top= 209.582737512 runs/s
2900         median= 210.803689065 runs/s, stdev= 3.16769655464 runs/s, min= 203.045685279 runs/s, max= 211.920529801 runs/s
2901
2902         RESULT Bindings: scroll-top= 199.924607687 runs/s
2903         median= 201.13144338 runs/s, stdev= 3.11080503619 runs/s, min= 193.003618818 runs/s, max= 202.02020202 runs/s
2904
2905         * Bindings/scroll-top.html: Added.
2906
2907 2012-05-17  Kentaro Hara  <haraken@chromium.org>
2908
2909         [perf-test] Add a micro benchmark for div.firstChild getter for an undefined firstChild
2910         https://bugs.webkit.org/show_bug.cgi?id=86725
2911
2912         Reviewed by Ryosuke Niwa.
2913
2914         We are going to remove Bindings/dom-attributes.html and instead add more
2915         reasonable micro benchmarks by classifying DOM binding call paths.
2916
2917         In this bug, we add a micro benchmark for div.firstChild getter for an
2918         undefined firstChild. This benchmark covers other undefined DOM attributes
2919         that return a null.
2920
2921         (Note: In V8, div.firstChild for an undefined firstChild is currently slower
2922         than div.firstChild for a defined firstChild.)
2923
2924         Test results in my Linux desktop:
2925
2926         RESULT Bindings: undefined-first-child= 541.408311042 runs/s
2927         median= 541.205412054 runs/s, stdev= 1.29841219187 runs/s, min= 537.897310513 runs/s, max= 543.209876543 runs/s
2928
2929         RESULT Bindings: undefined-first-child= 541.00750695 runs/s
2930         median= 540.540540541 runs/s, stdev= 0.967521230965 runs/s, min= 539.215686275 runs/s, max= 543.209876543 runs/s
2931
2932         RESULT Bindings: undefined-first-child= 523.630714897 runs/s
2933         median= 523.560209424 runs/s, stdev= 1.01570919645 runs/s, min= 522.193211488 runs/s, max= 525.624178712 runs/s
2934
2935         RESULT Bindings: undefined-first-child= 553.077663588 runs/s
2936         median= 553.459119497 runs/s, stdev= 0.805697397863 runs/s, min= 551.378446115 runs/s, max= 554.156171285 runs/s
2937
2938         RESULT Bindings: undefined-first-child= 541.5401432 runs/s
2939         median= 541.538666618 runs/s, stdev= 0.954301364767 runs/s, min= 539.877300613 runs/s, max= 543.209876543 runs/s
2940
2941         * Bindings/undefined-first-child.html: Added.
2942
2943 2012-05-17  Kentaro Hara  <haraken@chromium.org>
2944
2945         [Performance test] Add a micro benchmark for div.firstChild getter
2946         https://bugs.webkit.org/show_bug.cgi?id=86582
2947
2948         Reviewed by Ryosuke Niwa.
2949
2950         We are going to remove Bindings/dom-attributes.html and instead add more
2951         reasonable micro benchmarks by classifying DOM binding call paths.
2952
2953         In this bug, we add a micro benchmark for div.firstChild getter.
2954         This benchmark covers 'firstChild', 'lastChild', 'nextSibling' and
2955         'previousSibling' in Dromaeo/dom-traverse.html, and other DOM attributes
2956         that return a Node object.
2957
2958         Multiple test results in my Linux desktop:
2959
2960         RESULT Bindings: first-child= 798.157160346 runs/s
2961         median= 798.004987531 runs/s, stdev= 1.52006063407 runs/s, min= 796.019900498 runs/s, max= 801.001251564 runs/s
2962         RESULT Bindings: first-child= 797.603608554 runs/s
2963         median= 797.872340426 runs/s, stdev= 2.2522621261 runs/s, min= 791.556728232 runs/s, max= 801.001251564 runs/s
2964         RESULT Bindings: first-child= 798.656295468 runs/s
2965         median= 798.004987531 runs/s, stdev= 1.79367478063 runs/s, min= 797.01120797 runs/s, max= 803.011292346 runs/s
2966         RESULT Bindings: first-child= 797.812784267 runs/s
2967         median= 798.004987531 runs/s, stdev= 2.31766523191 runs/s, min= 791.100123609 runs/s, max= 802.005012531 runs/s
2968         RESULT Bindings: first-child= 797.963311597 runs/s
2969         median= 798.004987531 runs/s, stdev= 2.53014907337 runs/s, min= 789.14919852 runs/s, max= 801.001251564 runs/s
2970
2971         * Bindings/first-child.html: Added.
2972
2973 2012-05-16  Kentaro Hara  <haraken@chromium.org>
2974
2975         [Performance test] Support "description" for PerfTestRunner.run and PerfTestRunner.runPerSecond
2976         https://bugs.webkit.org/show_bug.cgi?id=86696
2977
2978         Reviewed by Ryosuke Niwa.
2979
2980         We want to add some description for each PerfTestRunner.run and
2981         PerfTestRunner.runPerSecond, so that people can know what each
2982         run is testing.
2983
2984         Output example:
2985
2986         $ ./Tools/Scripts/run-perf-tests Bindings/first-child.html
2987         Running Bindings/first-child.html (1 of 1)
2988         DESCRIPTION: Benchmark for DOM attributes that return a Node object.
2989         RESULT Bindings: first-child= 788.359076534 runs/s
2990         median= 797.508097751 runs/s, stdev= 19.0972905207 runs/s, min= 746.666666667 runs/s, max= 801.001251564 runs/s
2991
2992         * resources/runner.js:
2993         (PerfTestRunner.logStatistics):
2994         (PerfTestRunner.printStatistics):
2995         (PerfTestRunner.runPerSecond):
2996
2997 2012-05-16  Yury Semikhatsky  <yurys@chromium.org>
2998
2999         Unreviewed. Fix heap profiler performance test after r117234.
3000
3001         * inspector/heap-snapshot.html:
3002
3003 2012-05-14  Ryosuke Niwa  <rniwa@webkit.org>
3004
3005         Convert CSS and Parser tests to runs/s tests
3006         https://bugs.webkit.org/show_bug.cgi?id=86399
3007
3008         Reviewed by Ojan Vafai.
3009
3010         Use runPerSecond instead of run to measure results in function calls per second (run/s) instead of time (ms).
3011         This allows us to continue measuring performance reliably even when WebKit's performance improves and results
3012         become too small for Date.now()'s precision (around 15 ms).
3013
3014         It should also reduce perf. bots cycle time for slower tests because we limit the number of function calls by time.
3015
3016         * CSS/CSSPropertySetterGetter.html:
3017         * CSS/CSSPropertyUpdateValue.html:
3018         * Parser/css-parser-yui.html:
3019         * Parser/simple-url.html:
3020         * Parser/tiny-innerHTML.html:
3021         * Parser/url-parser.html:
3022         * Parser/xml-parser.html:
3023
3024 2012-05-14  Dan Bernstein  <mitz@apple.com>
3025
3026         Add a line layout performance test
3027         https://bugs.webkit.org/show_bug.cgi?id=86216
3028
3029         Reviewed by Ryosuke Niwa.
3030
3031         * Layout/line-layout.html: Added.
3032
3033 2012-05-14  Tony Chang  <tony@chromium.org>
3034
3035         Don't append log lines while perf tests are running.
3036         https://bugs.webkit.org/show_bug.cgi?id=86028
3037
3038         Reviewed by Ryosuke Niwa.
3039
3040         In some tests, the extra DOM nodes can cause the test timing to change.
3041         Avoid adding DOM nodes until the test is over. When running in a browser,
3042         we append nodes as we run so the user can have some feedback.
3043
3044         * resources/runner.js:
3045         (PerfTestRunner.log): Store the log lines in an array until the test is finished.
3046
3047 2012-05-14  Ryosuke Niwa  <rniwa@webkit.org>
3048
3049         Build fix. Don't adjust calls per iteration in the second run.
3050
3051         * resources/runner.js:
3052         (PerfTestRunner._perSecondRunner):
3053
3054 2012-05-13  Ryosuke Niwa  <rniwa@webkit.org>
3055
3056         performance tests should be able to measure runs/sec rather than time
3057         https://bugs.webkit.org/show_bug.cgi?id=86021
3058
3059         Reviewed by Ojan Vafai.
3060
3061         Add PerfTestRunner.runPerSecond. It uses _runLoop but replaces _runner by _perSecondRunner
3062         to compute runs/s of runFunction.
3063
3064         When _perSecondRunner is called for the first time, i.e. _completedRuns is 0 (notice this is -1
3065         in regular run/_runner), it slowly increases the number of function calls to runFunction between
3066         time measurements in order to discount the time used by new Date() calls themselves until the
3067         total time spent reaches 100 milliseconds.
3068
3069         By default, runPerSecond runs the test for at least 750 milliseconds in each run, and executes
3070         21 runs, yielding the total run time of roughly 18 seconds. This is significantly faster than
3071         most of existing performance tests. Also see http://ejohn.org/blog/accuracy-of-javascript-time/.
3072
3073         Finally, refactored the existing methods of PerfTestRunner to allow "runs/s" unit and share code.
3074
3075         * Layout/flexbox-column-nowrap.html:
3076         * Layout/flexbox-column-wrap.html:
3077         * Layout/flexbox-row-nowrap.html:
3078         * Layout/flexbox-row-wrap.html:
3079         * resources/runner.js:
3080         (PerfTestRunner.computeStatistics): Takes unit.
3081         (PerfTestRunner.logStatistics): Ditto.
3082         (PerfTestRunner._runLoop):
3083         (PerfTestRunner._runner):
3084         (PerfTestRunner.runPerSecond): Added.
3085         (PerfTestRunner._perSecondRunner): Added. Called by _runLoop.
3086         (PerfTestRunner._perSecondRunnerIterator): Added.
3087
3088 2012-05-09  Tony Chang  <tony@chromium.org>
3089
3090         add some basic perf-o-matic tests for flexbox
3091         https://bugs.webkit.org/show_bug.cgi?id=86017
3092
3093         Reviewed by Ryosuke Niwa.
3094
3095         Each of these tests take < 3s on my machine.
3096
3097         * Layout/flexbox-column-nowrap.html: Added.
3098         * Layout/flexbox-column-wrap.html: Added.
3099         * Layout/flexbox-row-nowrap.html: Added.
3100         * Layout/flexbox-row-wrap.html: Added.
3101
3102 2012-05-05  Ilya Tikhonovsky  <loislo@chromium.org>
3103
3104         Web Inspector: unreviewed followup fix for the performance test after r116218.
3105
3106         * inspector/heap-snapshot.html:
3107
3108 2012-05-02  Tom Zakrajsek  <tomz@codeaurora.org>
3109
3110         Need tests for PerfTestRunner.computeStatistics
3111         https://bugs.webkit.org/show_bug.cgi?id=85410
3112
3113         Reviewed by Ryosuke Niwa.
3114
3115         * resources/runner.js:
3116
3117 2012-05-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3118
3119         Unreviewed, rolling out r115905.
3120         http://trac.webkit.org/changeset/115905
3121         https://bugs.webkit.org/show_bug.cgi?id=85435
3122
3123         New computeStatistics test is failing on chromium ports
3124         (Requested by tomz on #webkit).
3125
3126         * resources/runner.js:
3127
3128 2012-05-02  Tom Zakrajsek  <tomz@codeaurora.org>
3129
3130         Need tests for PerfTestRunner.computeStatistics
3131         https://bugs.webkit.org/show_bug.cgi?id=85410
3132
3133         Reviewed by Ryosuke Niwa.
3134
3135         * resources/runner.js:
3136
3137 2012-04-29  Tom Zakrajsek  <tomz@codeaurora.org>
3138
3139         PerfTestRunner.computeStatistics incorrectly calculates min, max and median
3140         https://bugs.webkit.org/show_bug.cgi?id=85111
3141
3142         Reviewed by Ryosuke Niwa.
3143
3144         The sort of the data input was being done alphabetically.
3145         So I provided a numeric compare function.
3146
3147         * resources/runner.js:
3148
3149 2012-04-17  Ilya Tikhonovsky  <loislo@chromium.org>
3150
3151         Web Inspector: the fix for test after massive rename in r114271.
3152         https://bugs.webkit.org/show_bug.cgi?id=84147
3153
3154         Drive by fix. The test was renamed to heap-snapshot.html
3155
3156         Reviewed by Yury Semikhatsky.
3157
3158         * inspector/heap-snapshot.html: Renamed from PerformanceTests/inspector/detailed-heapshots-smoke-test.html.
3159
3160 2012-04-16  Yury Semikhatsky  <yurys@chromium.org>
3161
3162         Web Inspector: rename heap profiler files and classes DetailedHeapshot* ->HeapSnapshot*
3163         https://bugs.webkit.org/show_bug.cgi?id=84038
3164
3165         A bunch of renames "detailed heapshot" -> "heap snapshot".
3166
3167         Reviewed by Pavel Feldman.
3168
3169         * inspector/detailed-heapshots-smoke-test.html:
3170
3171 2012-04-13  Ryosuke Niwa  <rniwa@webkit.org>
3172
3173         Fix skipped list.
3174
3175         * Skipped:
3176
3177 2012-04-12  Ryosuke Niwa  <rniwa@webkit.org>
3178
3179         Enable SVG page loading performance tests
3180         https://bugs.webkit.org/show_bug.cgi?id=83861
3181
3182         Reviewed by Adam Barth.
3183
3184         Unskip PageLoad directory and skip tests that load too fast (less than 100ms) and are unstable,
3185         and the ones that take too long to load (more than 20s).
3186
3187         * Skipped:
3188
3189 2012-04-04  Ilya Tikhonovsky  <loislo@chromium.org>
3190
3191         Web Inspector: Unreviewed. temporary disable broken inspector tests.
3192
3193         * inspector/first-open-scripts.html.broken: Renamed from PerformanceTests/inspector/first-open-scripts.html.
3194         * inspector/network-append-30-requests.html.broken: Renamed from PerformanceTests/inspector/network-append-30-requests.html.
3195         * inspector/show-panel.html.broken: Renamed from PerformanceTests/inspector/show-panel.html.
3196
3197 2012-04-04  Ilya Tikhonovsky  <loislo@chromium.org>
3198
3199         Web Inspector: linearise aggregate's retaining size calculation.
3200         https://bugs.webkit.org/show_bug.cgi?id=83125
3201
3202         This version is twice as fast as the original and it is non-recursive.
3203
3204         Reviewed by Yury Semikhatsky.
3205
3206         * inspector/detailed-heapshots-smoke-test.html:
3207
3208 2012-03-30  David Barr  <davidbarr@chromium.org>
3209
3210         Split up top-level .gitignore and .gitattributes
3211         https://bugs.webkit.org/show_bug.cgi?id=82687
3212
3213         Reviewed by Tor Arne Vestbø.
3214
3215         * .gitattributes: Added.
3216
3217 2012-03-28  Yury Semikhatsky  <yurys@chromium.org>
3218
3219         Web Inspector: switch heap profiler front-end to separate storage of nodes and edges
3220         https://bugs.webkit.org/show_bug.cgi?id=82453
3221
3222         Updated heap profiler performance test after heap profiler front-end
3223         changes.
3224
3225         Reviewed by Pavel Feldman.
3226
3227         * inspector/detailed-heapshots-smoke-test.html:
3228
3229 2012-03-27  Alexis Menard  <alexis.menard@openbossa.org>
3230
3231         Add a perf test which updates the value of an already declared CSS property.
3232         https://bugs.webkit.org/show_bug.cgi?id=82321
3233
3234         Reviewed by Andreas Kling.
3235
3236         This benchmark update CSS existing properties of the style from JS.
3237
3238         * CSS/CSSPropertyUpdateValue.html: Added.
3239
3240 2012-03-15  Kentaro Hara  <haraken@chromium.org>
3241
3242         [PerformanceTests] run-perf-tests should output correct units
3243         https://bugs.webkit.org/show_bug.cgi?id=78303
3244
3245         Reviewed by Ryosuke Niwa.
3246
3247         Previously run-perf-tests just supported "ms" for units.
3248         Consequently, Dromaeo perf tests had been reporting runs/s as "ms".
3249         This patch fixes run-perf-tests so that they can support custom units.
3250         The default unit is "ms".
3251
3252         The test result looks like this:
3253
3254         $ ./Tools/Scripts/run-perf-tests Dromaeo/dom-attr.html
3255         RESULT Dromaeo: dom-attr= 6465.9525483 runs/s
3256         median= 0.0 runs/s, stdev= 24.2983433436 runs/s, min= 6435.87649402 runs/s, max= 6515.63693392 runs/s
3257
3258         * Dromaeo/resources/dromaeorunner.js:
3259         (.):
3260         * resources/runner.js:
3261         (PerfTestRunner.computeStatistics):
3262         (PerfTestRunner.printStatistics):
3263
3264 2012-03-15  Alexis Menard  <alexis.menard@openbossa.org>
3265
3266         Fix the test failing with run-perf-tests.
3267
3268         Rubber stamped by Ryosuke Niwa.
3269
3270         * CSS/CSSPropertySetterGetter.html:
3271
3272 2012-03-14  Alexis Menard  <alexis.menard@openbossa.org>
3273
3274         Add a new perf test to benchmark setting and reading CSS properties from JS.
3275         https://bugs.webkit.org/show_bug.cgi?id=81155
3276
3277         Reviewed by Ryosuke Niwa.
3278
3279         This benchmark read and set CSS properties from JS. It contains a list
3280         of common CSS properties.
3281
3282         * CSS/CSSPropertySetterGetter.html: Added.
3283
3284 2012-03-14  Alexandru Chiculita  <achicu@adobe.com>
3285
3286         Layout/floats.html should be runnable by run-perf-tests
3287         https://bugs.webkit.org/show_bug.cgi?id=77051
3288
3289         Reviewed by Ryosuke Niwa.
3290
3291         I've split Layout/floats.html into multiple tests for each button in the original manual test.
3292         Some tests take longer to run and I've changed the number of iterations, so that each tests finishes under 30s per run.
3293
3294         * DOM/resources/dom-perf.js:
3295         * Layout/floats.html: Removed.
3296         * Layout/floats_100_100.html: Added.
3297         * Layout/floats_100_100_nested.html: Added.
3298         * Layout/floats_20_100.html: Added.
3299         * Layout/floats_20_100_nested.html: Added.
3300         * Layout/floats_2_100.html: Added.
3301         * Layout/floats_2_100_nested.html: Added.
3302         * Layout/floats_50_100.html: Added.
3303         * Layout/floats_50_100_nested.html: Added.
3304         * Layout/resources/floats.css: Added.
3305         (.container):
3306         (.float):
3307         (.big):
3308         (.float-end):
3309         * Layout/resources/floats.js: Added.
3310         (.):
3311         * Skipped:
3312         * resources/runner.js:
3313         (PerfTestRunner.resetRandomSeed):
3314         (PerfTestRunner.random):
3315         (Math.random):
3316             Moved the Math.random to runner.js to be used by all tests.
3317             Added resetRandomSeed to bring the randomizer back to initial seed.
3318             It is useful to get the same results at every run and minimize the
3319             differences between runs.
3320
3321 2012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3322
3323         Unreviewed, rolling out r110559.
3324         http://trac.webkit.org/changeset/110559
3325         https://bugs.webkit.org/show_bug.cgi?id=81142
3326
3327         Broke Dromaeo tests (Requested by rniwa on #webkit).
3328
3329         * Dromaeo/resources/dromaeorunner.js:
3330         (.):
3331
3332 2012-03-13  Kentaro Hara  <haraken@chromium.org>
3333
3334         Dromaeo perf-tests results are wrong
3335         https://bugs.webkit.org/show_bug.cgi?id=80974
3336
3337         Reviewed by Hajime Morita.
3338
3339         Dromaeo perf-tests had reported the sum of runs/seconds as "ms".
3340         This patch fixes them to report the execution time per run.
3341
3342         At present, they report "0.0ms" for "stdev". This is because
3343         dromaeorunner.js can just know stdev of "runs/seconds"
3344         and cannot calculate stdev of "ms" from that. We can fix it later.
3345
3346         * Dromaeo/resources/dromaeorunner.js:
3347         (.):
3348
3349 2012-03-12  Ilya Tikhonovsky  <loislo@chromium.org>
3350
3351         Web Inspector: chromium: increase heap snapshot performance coverage.
3352         https://bugs.webkit.org/show_bug.cgi?id=80829
3353
3354         Reviewed by Yury Semikhatsky.
3355
3356         * inspector/detailed-heapshots-smoke-test.html:
3357         * inspector/performance-test.js:
3358         (initialize_TimeTracker.InspectorTest.measureFunction):
3359
3360 2012-03-06  Kentaro Hara  <haraken@chromium.org>
3361
3362         [Perf tests] Reduce the number of loops in dom-attributes.html
3363         https://bugs.webkit.org/show_bug.cgi?id=80077
3364
3365         Reviewed by Ryosuke Niwa.
3366
3367         dom-attributes.html takes 100~ seconds in the perf bots. This patch reduces
3368         the time by reducing the number of loops.
3369
3370         This is just a temporary fix. After more detailed investigation, I will reduce
3371         the number of tests in dom-attributes.html, and revert back the number of loops
3372         to guarantee the reliability of the perf test results.
3373
3374         * Bindings/dom-attributes.html:
3375
3376 2012-03-06  Ilya Tikhonovsky  <loislo@chromium.org>
3377
3378         Web Inspector: Heap Snapshot test: split overal time metric into separate metrics.
3379         https://bugs.webkit.org/show_bug.cgi?id=80409
3380
3381         Reviewed by Yury Semikhatsky.
3382
3383         * inspector/detailed-heapshots-smoke-test.html:
3384
3385 2012-03-05  Ilya Tikhonovsky  <loislo@chromium.org>
3386
3387         Web Inspector: [chromium] introduce HeapSnapshot performance test.
3388         https://bugs.webkit.org/show_bug.cgi?id=80280
3389
3390         Reviewed by Pavel Feldman.
3391
3392         * inspector/detailed-heapshots-smoke-test.html: Added.
3393
3394 2012-03-01  Ryosuke Niwa  <rniwa@webkit.org>
3395
3396         DOM tests take too long to run
3397         https://bugs.webkit.org/show_bug.cgi?id=80082
3398
3399         Reviewed by Eric Seidel.
3400
3401         Reduce benchmark.timeToRun from 500ms to 100ms. Doesn't seem to affect test results much
3402         (except DOM/DOMTable.html) but significantly reduces the runtime of tests.
3403
3404         * DOM/resources/dom-perf.js:
3405         (BenchmarkSuite.prototype.RunSingle):
3406
3407 2012-02-26  Kentaro Hara  <haraken@chromium.org>
3408
3409         [Performance Tests] [Chromium] Bindings/dom-attributes.html is timing out
3410         https://bugs.webkit.org/show_bug.cgi?id=79593
3411
3412         Reviewed by Adam Barth.
3413
3414         This patch halves the execution time of Bindings/dom-attributes.html
3415         in order to avoid timeout in Chromium. The reason for the timeout is that
3416         V8 DOM bindings are too much slower than JSC bindings.
3417         I am a bit afraid that this patch will reduce the accuracy of the
3418         perf test results, but it would make sense to reduce the execution time
3419         until we fix the performance issue in V8 DOM bindings.
3420
3421         * Bindings/dom-attributes.html:
3422
3423 2012-02-24  Ryosuke Niwa  <rniwa@webkit.org>
3424
3425         Rename dom*_*attributes.html to dom*-*attributes.html to follow the WebKit convention.
3426
3427         * Bindings/dom-attributes.html: Copied from PerformanceTests/Bindings/dom_attributes.html.
3428         * Bindings/dom_attributes.html: Removed.
3429
3430 2012-02-24  Kentaro Hara  <haraken@chromium.org>
3431
3432         Unreviewed, rolling out r108477.
3433         http://trac.webkit.org/changeset/108477
3434         https://bugs.webkit.org/show_bug.cgi?id=79209
3435
3436         The perf tests committed in r108748 covers the perf tests
3437         committed in r108477. So I'll roll out r108477.
3438
3439         * Bindings/dom_attributes_id_getter.html: Removed.
3440         * Bindings/dom_attributes_id_setter.html: Removed.
3441         * Bindings/resources/dom_attributes_common.js: Removed.
3442
3443 2012-02-24  Kentaro Hara  <haraken@chromium.org>
3444
3445         Add performance tests for DOM attribute getters and setters
3446         https://bugs.webkit.org/show_bug.cgi?id=79208
3447
3448         Reviewed by Ryosuke Niwa.
3449
3450         This patch adds performance micro-benchmarks for DOM attribute
3451         getters and setters. We selected DOM attributes from HTMLElement,
3452         Element and Node which will most impact on the DOM performance
3453         in the real Web and which have different call-paths from another
3454         DOM attribute.
3455
3456         The perf test result in my local Chromium/Linux environment is as follows:
3457         median= 14967.0 ms, stdev= 85.2385476178 ms, min= 14861.0 ms, max= 15155.0 ms
3458
3459         If we run the test with DumpRenderTree, we can get the following test results: