Turn PageLoad tests into simple performancetests, commit #4
[WebKit-https.git] / PerformanceTests / ChangeLog
1 2012-10-25  Zoltan Horvath  <zoltan@webkit.org>
2
3         Turn PageLoad tests into simple performancetests, commit #4 
4         https://bugs.webkit.org/show_bug.cgi?id=99899
5
6         Reviewed by Ryosuke Niwa.
7
8         We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
9         performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
10         to their new location and adds html/js wrappers for them.
11
12         This is the #4 commit of the whole patch.
13
14         * PageLoad/svg/files/france.svg: Removed.
15         * PageLoad/svg/files/francobollo_gnome_ezechi_02.svg: Removed.
16         * SVG/France.html: Added.
17         * SVG/FrancoBolloGnomeEzechi.html: Added.
18         * SVG/resources/France.svg: Copied from PerformanceTests/PageLoad/svg/files/france.svg.
19         * SVG/resources/FrancoBolloGnomeEzechi.svg: Copied from PerformanceTests/PageLoad/svg/files/francobollo_gnome_ezechi_02.svg.
20         * Skipped: Rename the files on the skipped list also.
21
22 2012-10-25  Zoltan Horvath  <zoltan@webkit.org>
23
24         Turn PageLoad tests into simple performancetests, commit #3 
25         https://bugs.webkit.org/show_bug.cgi?id=99899
26
27         Reviewed by Ryosuke Niwa.
28
29         We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
30         performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
31         to their new location and adds html/js wrappers for them.
32
33         This is the #3 commit of the whole patch.
34
35         * PageLoad/svg/files/42470-flower_from_my_garden_v2.svg: Removed.
36         * PageLoad/svg/files/44057-drops on a blade.svg: Removed.
37         * PageLoad/svg/files/deb9frac1.svg: Removed.
38         * PageLoad/svg/files/food_leif_lodahl_01.svg: Removed.
39         * SVG/Debian.html: Added.
40         * SVG/DropsOnABlade.html: Added.
41         * SVG/FlowerFromMyGarden.html: Added.
42         * SVG/FoodLeifLodahl.html: Added.
43         * SVG/resources/Debian.svg: Copied from PerformanceTests/PageLoad/svg/files/deb9frac1.svg.
44         * SVG/resources/DropsOnABlade.svg: Copied from PerformanceTests/PageLoad/svg/files/44057-drops%20on%20a%20blade.svg.
45         * SVG/resources/FlowerFromMyGarden.svg: Copied from PerformanceTests/PageLoad/svg/files/42470-flower_from_my_garden_v2.svg.
46         * SVG/resources/FoodLeifLodahl.svg: Copied from PerformanceTests/PageLoad/svg/files/food_leif_lodahl_01.svg.
47
48 2012-10-24  Zoltan Horvath  <zoltan@webkit.org>
49
50         Turn PageLoad tests into simple performancetests, commit #2 
51         https://bugs.webkit.org/show_bug.cgi?id=99899
52
53         Reviewed by Ryosuke Niwa.
54
55         We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
56         performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
57         to their new location and adds html/js wrappers for them.
58
59         This is the #2 commit of the whole patch.
60
61         * PageLoad/svg/files/cacuts_01.svg: Removed.
62         * PageLoad/svg/files/cowboy.svg: Removed.
63         * PageLoad/svg/files/crawfish2_ganson.svg: Removed.
64         * SVG/Cactus.html: Added.
65         * SVG/Cowboy.html: Added.
66         * SVG/CrawFishGanson.html: Added.
67         * SVG/resources/Cactus.svg: Copied from PerformanceTests/PageLoad/svg/files/cacuts_01.svg.
68         * SVG/resources/Cowboy.svg: Copied from PerformanceTests/PageLoad/svg/files/cowboy.svg.
69         * SVG/resources/CrawFishGanson.svg: Copied from PerformanceTests/PageLoad/svg/files/crawfish2_ganson.svg.
70         * Skipped: Remove az-lizard_benji_park_01.svg from the skipped list.
71
72 2012-10-24  Zoltan Horvath  <zoltan@webkit.org>
73
74         Turn PageLoad tests into simple performancetests, commit #1 
75         https://bugs.webkit.org/show_bug.cgi?id=99899
76
77         Reviewed by Ryosuke Niwa.
78
79         We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
80         performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
81         to their new location and adds html/js wrappers for them.
82
83         This is the #1 commit of the whole patch.
84
85         * PageLoad/svg/files/az-lizard_benji_park_01.svg: Removed.
86         * PageLoad/svg/files/bamboo_01.svg: Removed.
87         * SVG/AzLizardBenjiPark.html: Added.
88         * SVG/Bamboo.html: Added.
89         * SVG/resources: Added.
90         * SVG/resources/AzLizardBenjiPark.svg: Copied from PerformanceTests/PageLoad/svg/files/az-lizard_benji_park_01.svg.
91         * SVG/resources/Bamboo.svg: Copied from PerformanceTests/PageLoad/svg/files/bamboo_01.svg.
92
93 2012-10-24  Zoltan Horvath  <zoltan@webkit.org>
94
95         REGRESSION(r131982): Skip SVG/SvgNestedUse.html performancetest since it is crashing
96         https://bugs.webkit.org/show_bug.cgi?id=100262
97
98         Unreviewed.
99
100         Skip until proper fix.
101
102         * Skipped: Add SVG/SvgNestedUse.html
103
104 2012-10-23  Zoltan Horvath  <zoltan@webkit.org>
105
106         Store the loaded file locally in measurePageLoadTime
107         https://bugs.webkit.org/show_bug.cgi?id=100172
108
109         Reviewed by Csaba Osztrogonác.
110
111         Store the loaded file as a local variable instead of attaching it to the test object.
112         Handle chunkSize inside test.run.
113
114         * resources/runner.js:
115         (.):
116
117 2012-10-23  Zoltan Horvath  <zoltan@webkit.org>
118
119         Add measurePageLoadTime function to PerfTestRunner
120         https://bugs.webkit.org/show_bug.cgi?id=100029
121
122         Reviewed by Ryosuke Niwa.
123
124         Adopt chunk based loading logic from html5-full-render.html into measurePageLoadTime function,
125         this is needed to measure the performance and the memory consumption of the PageLoadTests as
126         we do it for all other performancetests.
127
128         * Parser/html5-full-render.html: Move the behavior to runner.js.
129         * resources/runner.js:
130         (.): Add measurePageLoadTime function.
131
132 2012-10-22  Adam Barth  <abarth@webkit.org>
133
134         [V8] Vastly simplify V8GCController's NodeVisitor
135         https://bugs.webkit.org/show_bug.cgi?id=99884
136
137         Reviewed by Kentaro Hara.
138
139         Adds some performance tests for the garbage collector.
140
141         * Bindings/gc-forest.html: Added.
142         * Bindings/gc-mini-tree.html: Added.
143         * Bindings/gc-tree.html: Added.
144
145 2012-10-17  Ryosuke Niwa  <rniwa@webkit.org>
146
147         Bump up the number of iterations of html5-full-render to 5
148         https://bugs.webkit.org/show_bug.cgi?id=99657
149
150         Reviewed by Andreas Kling.
151
152         Now that html5-full-render.html runs in less than 15 seconds after r131553,
153         we can afford to get 5 instead of 2 samples.
154
155         * Parser/html5-full-render.html:
156
157 2012-10-17  Ryosuke Niwa  <rniwa@webkit.org>
158
159         Rename PerfTestRunner.runPerSecond to PerfTestRunner.measureRunsPerSecond for consistency
160         https://bugs.webkit.org/show_bug.cgi?id=99642
161
162         Reviewed by Dirk Pranke.
163
164         Renamed the method.
165
166         * Bindings/append-child.html:
167         * Bindings/create-element.html:
168         * Bindings/event-target-wrapper.html:
169         * Bindings/first-child.html:
170         * Bindings/get-attribute.html:
171         * Bindings/get-element-by-id.html:
172         * Bindings/get-elements-by-tag-name.html:
173         * Bindings/id-getter.html:
174         * Bindings/id-setter.html:
175         * Bindings/insert-before.html:
176         * Bindings/node-list-access.html:
177         * Bindings/scroll-top.html:
178         * Bindings/set-attribute.html:
179         * Bindings/typed-array-construct-from-array.html:
180         * Bindings/typed-array-construct-from-same-type.html:
181         * Bindings/typed-array-construct-from-typed.html:
182         * Bindings/typed-array-set-from-typed.html:
183         * Bindings/undefined-first-child.html:
184         * Bindings/undefined-get-element-by-id.html:
185         * Bindings/undefined-id-getter.html:
186         * CSS/CSSPropertySetterGetter.html:
187         * CSS/CSSPropertyUpdateValue.html:
188         * CSS/PseudoClassSelectors.html:
189         * DOM/textarea-dom.html:
190         * DOM/textarea-edit.html:
191         * Interactive/resources/window-resize.js:
192         * Layout/flexbox-column-nowrap.html:
193         * Layout/flexbox-column-wrap.html:
194         * Layout/flexbox-row-nowrap.html:
195         * Layout/flexbox-row-wrap.html:
196         * Layout/line-layout.html:
197         * Parser/css-parser-yui.html:
198         * Parser/innerHTML-setter.html:
199         * Parser/query-selector-deep.html:
200         * Parser/query-selector-first.html:
201         * Parser/query-selector-last.html:
202         * Parser/simple-url.html:
203         * Parser/textarea-parsing.html:
204         * Parser/tiny-innerHTML.html:
205         * Parser/url-parser.html:
206         * Parser/xml-parser.html:
207         * SVG/SvgNestedUse.html:
208         * resources/runner.js:
209
210 2012-10-17  Ryosuke Niwa  <rniwa@webkit.org>
211
212         Performance test should support asynchronous tests
213         https://bugs.webkit.org/show_bug.cgi?id=95668
214
215         Reviewed by Dirk Pranke.
216
217         Added PerfTestRunner.prepareToMeasureValuesAsync and PerfTestRunner.measureValueAsync,
218         and deployed it in Animation/balls.
219
220         * Animation/balls.html:
221         * resources/runner.js:
222
223 2012-10-16  Elliott Sprehn  <esprehn@chromium.org>
224
225         html5-full-render.html test uses substring but meant substr
226         https://bugs.webkit.org/show_bug.cgi?id=99495
227
228         Reviewed by Adam Barth.
229
230         This test intended to chunk up the HTML5 spec into chunks of 500k chars, but used
231         substring(to,from) instead of substr(from,length) so it actually loaded 5x more
232         content than was in the HTML5 spec.
233
234         * Parser/html5-full-render.html:
235
236 2012-10-11  James Simonsen  <simonjam@chromium.org>
237
238         unprefix window.performance.webkitNow()
239         https://bugs.webkit.org/show_bug.cgi?id=88278
240
241         Reviewed by Tony Gentilcore.
242
243         * resources/runner.js: Bind to proper object to avoid invalid invocation errors.
244
245 2012-10-08  Ryosuke Niwa  <rniwa@webkit.org>
246
247         Skip Layout/subtree-detaching.html temporarily as it's very noisy and
248         takes 112s to run on Chromium Mac. This is tracked by the bug 98708.
249
250         * Skipped:
251
252 2012-10-08  Ryosuke Niwa  <rniwa@webkit.org>
253
254         Perf. test results page is broken when runs have different sets of tests
255         https://bugs.webkit.org/show_bug.cgi?id=98691
256
257         Reviewed by Daniel Bates.
258
259         Add "missing" columns for tests that are missing some runs.
260
261         Also fix regressions from the previous patch:
262         - Make reference run switch work again
263         - Load jquery plugins from the remote server when the jquery is loaded from the remote server.
264
265         * resources/results-template.html:
266
267 2012-10-08  Ryosuke Niwa  <rniwa@webkit.org>
268
269         Perf test pesults page takes forever to load on a machine with a slow Internet connection
270         https://bugs.webkit.org/show_bug.cgi?id=98561
271
272         Reviewed by Ojan Vafai.
273
274         Try loading jquery both locally and remotely, and use the same method to load the remaining
275         jquery plugins when either one succeeds.
276
277         * resources/results-template.html:
278
279 2012-10-04  Hayato Ito  <hayato@chromium.org>
280
281         [Refactoring] Introduce a traversal strategy in SelectorChecker
282         https://bugs.webkit.org/show_bug.cgi?id=97298
283
284         Reviewed by Antti Koivisto.
285
286         Introduces querySelector() performance tests to check SelectorChecker performance.
287
288         * CSS/PseudoClassSelectors.html: Added.
289
290 2012-10-03  Philip Rogers  <pdr@google.com>
291
292         Force GC between PageLoad tests.
293         https://bugs.webkit.org/show_bug.cgi?id=98203
294
295         Reviewed by Ryosuke Niwa.
296
297         Previously, our PageLoad PerfTests had multi-modal distributions,
298         typically with a small cluster at 1-2x the median. This turned out
299         to be caused by not garbage collecting between tests!
300
301         This patch adds a new file, force-gc.html, and loads this file between
302         PageLoad tests to force a GC. I manually verified that this cleans up
303         our perf test outliers.
304
305         * resources/force-gc.html: Added.
306
307 2012-10-03  Julien Chaffraix  <jchaffraix@webkit.org>
308
309         Add a performance test for subtree detaching
310         https://bugs.webkit.org/show_bug.cgi?id=98281
311
312         Reviewed by Eric Seidel.
313
314         The new test tries to stress detaching on a heavy subtree (2 levels deep but with 1,000 nodes per level).
315         We set display: none on the root and measure the time it takes to update the tree. Note that we will also
316         measure the time taken by recalcStyle and relayout but I don't think we can avoid that.
317
318         * Layout/subtree-detaching.html: Added.
319
320 2012-10-02  Ryosuke Niwa  <rniwa@webkit.org>
321
322         Build fix after r130135. Dromaeo tests only report single memory value,
323         and computeStatistics should report variance as 0 in such cases.
324
325         * resources/runner.js:
326
327 2012-10-02  Philip Rogers  <pdr@google.com>
328
329         Fix PerfTest standard deviation calculation.
330         https://bugs.webkit.org/show_bug.cgi?id=98115
331
332         Reviewed by Ryosuke Niwa.
333
334         Previously our standard deviation calculation was incorrect. This patch
335         updates perftest.py's algorithm to calculate the sample standard deviation
336         (with Bessel's correction) using Knuth's online algorithm:
337         http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Online_algorithm
338         An existing test has been modified to prove our new results.
339
340         This patch also updates runner.js to use Bessel's correction in
341         its sample standard deviation calculation, which is more accurate
342         for small sample sizes.
343
344         Additionally, runner.js has been modified to not calculate
345         the 'sum' statistic, which was not very useful.
346
347         * resources/runner.js:
348         (PerfTestRunner.computeStatistics):
349
350 2012-10-01  Ryosuke Niwa  <rniwa@webkit.org>
351
352         PerfTestRunner: Move all functions into the closure and always use double quotation for string literals
353         https://bugs.webkit.org/show_bug.cgi?id=98093
354
355         Reviewed by Ojan Vafai.
356
357         Move all methods of PerfTestRunner into the closure that defines it.
358         Also always use double quotations for string literals for consistency.
359
360         * resources/runner.js:
361
362 2012-10-01  Ryosuke Niwa  <rniwa@webkit.org>
363
364         Encapsulate private properties in PerfTestRunner better
365         https://bugs.webkit.org/show_bug.cgi?id=97833
366
367         Reviewed by Ojan Vafai.
368
369         This patch moves "private" methods and properties of PerfTestRunner into a closure so that they're
370         inaccssible from outside. Also catch exceptions from test.run, test.done, and other runner code
371         to ensure we call notifyDone() even if we broke tests. Otherwise DRT will timeout and we end up
372         waiting for 10 minutes per each broken test on bots.
373
374         * resources/runner.js:
375         (PerfTestRunner.gc):
376         (logInDocument): Extracted from PerfTestRunner.log.
377         (PerfTestRunner.log): Moved.
378         (logFatalError): Added.
379         (start): Renamed from PerfTestRunner._start.
380         (scheduleNextRun): Extracted from PerfTestRunner._runLoop. Also catch any exceptions that happen
381         in the runner and ignoreWarmUpAndLog so that we don't end up timing out. We call logFatalError in
382         such cases, which in turn ensures notifyDone() is called.
383         (ignoreWarmUpAndLog): Renamed from PerfTestRunner._ignoreWarmUpAndLog.
384         (finish): Extracted from PerfTestRunner._runLoop.
385         (PerfTestRunner.measureTime): Moved. The initialization of runCount is moved into start().
386         (measureTimeOnce): Renamed from PerfTestRunner._measureTimeOnce.
387         (PerfTestRunner.runPerSecond): Moved. Ditto about runCount.
388         (measureRunsPerSecondOnce): Renamed from PerfTestRunner._measureRunsPerSecondOnce.
389         (callRunAndMeasureTime): Renamed from PerfTestRunner._perSecondRunnerIterator.
390
391 2012-10-01  Florin Malita  <fmalita@chromium.org>
392
393         Add a performance test for nested <use> elements
394         https://bugs.webkit.org/show_bug.cgi?id=98047
395
396         Reviewed by Ryosuke Niwa.
397
398         Currently at ~5 runs per second on my workstation, but should go up significantly (100+)
399         after landing a fix for https://bugs.webkit.org/show_bug.cgi?id=97905.
400
401         * SVG/SvgNestedUse.html: Added.
402
403 2012-09-28  Ryosuke Niwa  <rniwa@webkit.org>
404
405         Add back test.runCount for runPerSecond as it's used by tests in fast/harness/perftests.
406
407         * resources/runner.js:
408         (PerfTestRunner.runPerSecond):
409
410 2012-09-27  Ryosuke Niwa  <rniwa@webkit.org>
411
412         Build fix after r129824.
413
414         * DOM/resources/dom-perf.js:
415         (runBenchmarkSuite):
416
417 2012-09-27  Ryosuke Niwa  <rniwa@webkit.org>
418
419         Remove unused features and reduce code duplications in PerfTestRunner
420         https://bugs.webkit.org/show_bug.cgi?id=97852
421
422         Reviewed by Kentaro Hara.
423
424         Made the following refactoring changes:
425         - Remove PerfTestRunner.info since it's never used.
426         - Moved the js heap/malloc related functions up to where they belong.
427         - Moved the initialization of _callsPerIteration, _test, and -description into _start,
428           and stopped initializing _runFunction and _doneFunction since both test times now
429           use _test object.
430         - Made _measureTimeOnce and _measureRunsPerSecondOnce return the measured value
431           instead of calling ignoreWarmUpAndLog and _runLoop to share the code; they're now
432           called in _measureRunsPerSecondOnce.
433
434         * resources/runner.js:
435         (PerfTestRunner.storeHeapResults): Moved.
436         (PerfTestRunner.getUsedMallocHeap): Moved.
437         (PerfTestRunner.getUsedJSHeap): Moved.
438         (PerfTestRunner.getAndPrintMemoryStatistics): Moved.
439         (PerfTestRunner._scheduleNextMeasurementOrNotifyDone): Renamed from _runLoop. Calls
440         ignoreWarmUpAndLog and schedules the next call.
441         (PerfTestRunner._measureTimeOnce): Renamed from _runner.
442         (PerfTestRunner._start): Renamed from initAndStartLoop.
443         (PerfTestRunner.measureTime):
444         (PerfTestRunner.runPerSecond):
445         (PerfTestRunner._measureRunsPerSecondOnce): Renamed from _measureRunsPerSecondOnce.
446         (PerfTestRunner._perSecondRunnerIterator):
447
448 2012-09-27  Ryosuke Niwa  <rniwa@webkit.org>
449
450         PerfTestRunner.run should take an object
451         https://bugs.webkit.org/show_bug.cgi?id=97743
452
453         Reviewed by Kentaro Hara.
454
455         Rename PerfTestRunner.run to PerfTestRunner.measureTime and make it take an object instead of
456         5 arguments. Also get rid of PerfTestRunner._loopsPerRun since it's no longer used (it's always 1).
457
458         * CSS/StyleSheetInsert.html:
459         * DOM/resources/dom-perf.js:
460         * Layout/floats_100_100.html:
461         * Layout/floats_100_100_nested.html:
462         * Layout/floats_20_100.html:
463         * Layout/floats_20_100_nested.html:
464         * Layout/floats_2_100.html:
465         * Layout/floats_2_100_nested.html:
466         * Layout/floats_50_100.html:
467         * Layout/floats_50_100_nested.html:
468         * Parser/html-parser.html:
469         * Parser/html5-full-render.html:
470         * SVG/SvgCubics.html:
471         * SVG/SvgHitTesting.html:
472         * resources/runner.js:
473
474 2012-09-27  Ryosuke Niwa  <rniwa@webkit.org>
475
476         PerformanceTests/CSS/StyleSheetInsert.html has a time-dependent non-Gaussian distribution
477         https://bugs.webkit.org/show_bug.cgi?id=97741
478
479         Reviewed by Antti Koivisto.
480
481         Reset the content in the iframe in each run so that the runtime from each run follows a normal distribution.
482         We can cleanup this code once my patch to replace the argument list of run by an object is landed.
483
484         * CSS/StyleSheetInsert.html:
485
486 2012-09-27  Ryosuke Niwa  <rniwa@webkit.org>
487
488         Unreviewed. Minor appearance tweaks after r129813.
489
490         * resources/results-template.html:
491
492 2012-09-27  Ryosuke Niwa  <rniwa@webkit.org>
493
494         Results page should warn about time-dependent distributions
495         https://bugs.webkit.org/show_bug.cgi?id=97818
496
497         Reviewed by Ojan Vafai.
498
499         Add a simple linear regression analysis on results page to detect time-dependent distributions.
500         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.
501         Also added time-series graphs per run under the bar graphs so that humans can manually inspect them.
502
503         A nice follow up would be to add some normality test (e.g. Shapiro-Wilk) to detect bi-modal distributions
504         but we probably need to restructure the code to run it asynchronously since normality tests are slow.
505
506         * resources/results-template.html:
507
508 2012-09-26  Ryosuke Niwa  <rniwa@webkit.org>
509
510         Use runPerSecond in PerformanceTests/Bindings/typed-array* and event-target-wrapper
511         https://bugs.webkit.org/show_bug.cgi?id=97625
512
513         Reviewed by Eric Seidel.
514
515         Use PerfTestRunner.runPerSecond instead of PerfTestRunner.run. Also reduce the fixed number of
516         elements and iterations in these tests by a factor of 10 since runPerSecond can dynamically
517         adjust the number of function calls.
518
519         * Bindings/event-target-wrapper.html:
520         * Bindings/typed-array-construct-from-array.html:
521         * Bindings/typed-array-construct-from-same-type.html:
522         * Bindings/typed-array-construct-from-typed.html:
523         * Bindings/typed-array-set-from-typed.html:
524
525 2012-09-25  Antti Koivisto  <antti@apple.com>
526
527         Optimize stylesheet insertions
528         https://bugs.webkit.org/show_bug.cgi?id=97627
529
530         Reviewed by Andreas Kling.
531
532         Add synthetic performance test for avoiding style recalcs on stylesheet inserts.
533
534         * CSS/StyleSheetInsert.html: Added.
535
536 2012-09-25  Ryosuke Niwa  <rniwa@webkit.org>
537
538         Skip Dromaeo/jslib-modify-jquery.html per bug 95376.
539         It runs out of memory on Chromium port, and it takes unreasonably long time (~5 minutes)
540         to run on other ports.
541
542         * Skipped:
543
544 2012-09-20  Ryosuke Niwa  <rniwa@webkit.org>
545
546         Results page should show indivisual value
547         https://bugs.webkit.org/show_bug.cgi?id=97178
548
549         Reviewed by Tony Chang.
550
551         Show indivisual values instead of statistics (min, max, stdev).
552
553         * resources/results-template.html:
554
555 2012-09-20  Ryosuke Niwa  <rniwa@webkit.org>
556
557         run-perf-tests should record individual value instead of statistics
558         https://bugs.webkit.org/show_bug.cgi?id=97155
559
560         Reviewed by Hajime Morita.
561
562         Report the list of values as "values" so that run-perf-tests can parse them.
563
564         * resources/runner.js:
565         (PerfTestRunner.computeStatistics):
566         (PerfTestRunner.printStatistics):
567
568 2012-09-20  Sheriff Bot  <webkit.review.bot@gmail.com>
569
570         Unreviewed, rolling out r129091.
571         http://trac.webkit.org/changeset/129091
572         https://bugs.webkit.org/show_bug.cgi?id=97205
573
574         It broke perf tests everywhere (Requested by Ossy on #webkit).
575
576         * resources/runner.js:
577         (PerfTestRunner.computeStatistics):
578         (PerfTestRunner.printStatistics):
579
580 2012-09-19  Ryosuke Niwa  <rniwa@webkit.org>
581
582         run-perf-tests should record indivisual value instead of statistics
583         https://bugs.webkit.org/show_bug.cgi?id=97155
584
585         Reviewed by Hajime Morita.
586
587         Report the list of values as "values" so that run-perf-tests can parse them.
588
589         * resources/runner.js:
590         (PerfTestRunner.computeStatistics):
591         (PerfTestRunner.printStatistics):
592
593 2012-09-17  Ryosuke Niwa  <rniwa@webkit.org>
594
595         Perf test results is incomprehensive
596         https://bugs.webkit.org/show_bug.cgi?id=94668
597
598         Reviewed by Eric Seidel.
599
600         Overhauled the results page to have a tabular view. Clicking on each row shows a flot graph we used to have.
601         For each run and test, we show the mean value with the standard deviation along with the percent difference
602         against the reference run chosen by the user if the difference is statistically significant; it also indicates
603         whether the new value is progression or not.
604
605         The unit of each test is adjusted automatically using SI prefixes (Kilo, Mega, Milli), and rows can be sorted
606         by each column. Time and memory results are separated into two tabs.
607
608         * resources/jquery.tablesorter.min.js: Added.
609         * resources/results-template.html:
610
611 2012-09-14  Ryosuke Niwa  <rniwa@webkit.org>
612
613         Use performance.webkitNow in PerfTestRunner
614         https://bugs.webkit.org/show_bug.cgi?id=92826
615
616         Reviewed by Eric Seidel.
617
618         Use performance.webkitNow with Date.now as a fallback for more accurate time measurements.
619
620         * resources/runner.js:
621         (PerfTestRunner._runner):
622         (PerfTestRunner._perSecondRunnerIterator):
623
624 2012-09-14  Sheriff Bot  <webkit.review.bot@gmail.com>
625
626         Unreviewed, rolling out r128562.
627         http://trac.webkit.org/changeset/128562
628         https://bugs.webkit.org/show_bug.cgi?id=96747
629
630         It broke perf tests on Qt and Chromium (Requested by Ossy on
631         #webkit).
632
633         * resources/runner.js:
634         (PerfTestRunner._runner):
635         (PerfTestRunner._perSecondRunnerIterator):
636
637 2012-09-14  Ryosuke Niwa  <rniwa@webkit.org>
638
639         Use performance.webkitNow in PerfTestRunner
640         https://bugs.webkit.org/show_bug.cgi?id=92826
641
642         Reviewed by Eric Seidel.
643
644         Use performance.webkitNow with Date.now as a fallback for more acurate time measurements.
645
646         * resources/runner.js:
647         (PerfTestRunner._runner):
648         (PerfTestRunner._perSecondRunnerIterator):
649
650 2012-08-23  Ilya Tikhonovsky  <loislo@chromium.org>
651
652         WebInspector: unreviewed single line test fix.
653
654         The test has to open profiles panel explicitly because it is creating lazily.
655
656         * inspector/heap-snapshot-performance-test.js:
657
658 2012-08-15  Scott Graham  <scottmg@chromium.org>
659
660         Rename window.internals.fastMallocStatistics to mallocStatistics
661         https://bugs.webkit.org/show_bug.cgi?id=94033
662
663         Reviewed by Adam Barth.
664
665         * resources/runner.js:
666         (PerfTestRunner.storeHeapResults):
667         (PerfTestRunner.getUsedMallocHeap):
668         (PerfTestRunner.getAndPrintMemoryStatistics):
669         (PerfTestRunner.initAndStartLoop):
670
671 2012-08-10  Ryosuke Niwa  <rniwa@webkit.org>
672
673         Unreviewed; fix an insanely silly typo.
674
675         * resources/results-template.html:
676
677 2012-08-09  Ryosuke Niwa  <rniwa@webkit.org>
678
679         Another build fix after r125178.
680
681         * resources/runner.js:
682
683 2012-08-09  Zoltan Horvath  <zoltan@webkit.org>
684
685         Add memory measurement to balls.html and dromaeorunner.js
686         https://bugs.webkit.org/show_bug.cgi?id=93617
687
688         Reviewed by Adam Barth.
689
690         Since we added memory measurement support to performance tests we need to modify these tests.
691
692         * Animation/balls.html:
693         * Dromaeo/resources/dromaeorunner.js:
694
695 2012-08-09  Zoltan Horvath  <zoltan@webkit.org>
696
697         JSHeap and FastMallocStatistics based memory measurement for performance-tests
698         https://bugs.webkit.org/show_bug.cgi?id=90858
699
700         Reviewed Ryosuke Niwa.
701
702         Measure the memory usage of the performancetests with the help of the windows.memory.usedJSHeapSize
703         object and the window.internals.fastMallocStatistics() function call.
704
705         * resources/runner.js:
706         (PerfTestRunner.logStatistics):
707         (PerfTestRunner.printStatistics):
708         (PerfTestRunner.storeHeapResults):
709         (PerfTestRunner.getUsedFastMallocHeap):
710         (PerfTestRunner.getUsedJSHeap):
711         (PerfTestRunner.getAndPrintMemoryStatistics):
712         (PerfTestRunner.ignoreWarmUpAndLog):
713         (PerfTestRunner.initAndStartLoop):
714
715 2012-08-08  Benjamin Poulain  <benjamin@webkit.org>
716
717         Calling internals from the performance test runner prevents manual running
718         https://bugs.webkit.org/show_bug.cgi?id=93527
719
720         Reviewed by Ryosuke Niwa.
721
722         Since r125065, it is impossible to run the Performance tests manually. The problem is
723         "internals" is not defined when running outside the test runner, so the whole script
724         evaluation fails.
725
726         * resources/runner.js: Verify is window.internals is available before invoking something on it.
727
728 2012-08-08  Zoltan Horvath  <zoltan@webkit.org>
729
730         Set access to MemoryInfo enabled for the performance tests
731         https://bugs.webkit.org/show_bug.cgi?id=92498
732
733         Reviewed by Ryosuke Niwa.
734
735         We need access to console.memory for the memory measurements.
736
737         * resources/runner.js:
738
739 2012-08-07  Ryosuke Niwa  <rniwa@webkit.org>
740
741         run-perf-tests should support --no-show-results
742         https://bugs.webkit.org/show_bug.cgi?id=93409
743
744         Reviewed by Dirk Pranke.
745
746         Add a flot as a separate file and load it as an external resource.
747
748         Also include scripts as external resources from both local filesystem and webkit.org
749         so that it continues to work regardless of where you put it.
750
751         It breaks when someone else receives the file and save it somewhere and doesn't have
752         a network connection but that seems like a scenario we don't care that much.
753
754         * resources/jquery.flot.min.js: Added.
755         * resources/results-template.html:
756
757 2012-08-06  Ryosuke Niwa  <rniwa@webkit.org>
758
759         run-webkit-tests should have ability to add description to its JSON output
760         https://bugs.webkit.org/show_bug.cgi?id=93296
761
762         Reviewed by Dirk Pranke.
763
764         Parse description and show it with the WebKit revision on the results page. Also use bar graphs
765         instead of line graphs since we're not depicting the time series here per arv's suggestion.
766         Finally, add the ability to adjust y-axis between the adjusted value and 0 (plot even doesn't adjust
767         y-axis automatically now) by a mouse click.
768
769         * resources/results-template.html:
770
771 2012-08-04  Ryosuke Niwa  <rniwa@webkit.org>
772
773         Use testRunner instead of layoutTestController in performance tests
774         https://bugs.webkit.org/show_bug.cgi?id=93184
775
776         Reviewed by Adam Barth.
777
778         * Animation/balls.html:
779         * Dromaeo/resources/dromaeorunner.js:
780         * inspector/console-300-lines.html:
781         * inspector/inspector-startup-time.html:
782         * inspector/network-append-30-requests.html.broken:
783         * inspector/show-panel.html.broken:
784         * resources/runner.js:
785         (PerfTestRunner.logInfo):
786         (PerfTestRunner.initAndStartLoop):
787
788 2012-08-02  Arnaud Renevier  <a.renevier@sisa.samsung.com>
789
790         TypedArray set method is slow when called with another typed array
791         https://bugs.webkit.org/show_bug.cgi?id=92556
792
793         Reviewed by Kenneth Russell.
794
795         * Bindings/typed-array-set-from-typed.html: Added.
796
797 2012-07-28  Ryosuke Niwa  <rniwa@webkit.org>
798
799         run-perf-tests should generate a results page
800         https://bugs.webkit.org/show_bug.cgi?id=92575
801
802         Reviewed by Eric Seidel.
803
804         Add a results page template. This page includes flot and flot.fillbetween.
805         jQuery and the json that contains test results are injected by run-perf-tests.
806
807         * resources/results-template.html: Added.
808
809 2012-07-27  Arnaud Renevier  <a.renevier@sisa.samsung.com>
810
811         use createUninitialized when creating TypedArray from another array
812         https://bugs.webkit.org/show_bug.cgi?id=92518
813
814         Reviewed by Kenneth Russell.
815
816         * Bindings/typed-array-construct-from-array.html: Added.
817
818 2012-07-27  Ryosuke Niwa  <rniwa@webkit.org>
819
820         Add more Russian replay performance tests
821         https://bugs.webkit.org/show_bug.cgi?id=92462
822
823         Reviewed by Tony Chang.
824
825         Add more Russian sites as suggested by loislo.
826
827         * Replay/Russian/lenta.ru.replay: Added.
828         * Replay/Russian/www.ixbt.com.replay: Added.
829         * Replay/Russian/www.kp.ru.replay: Added.
830         * Replay/Russian/www.liveinternet.ru.replay: Added.
831         * Replay/Russian/www.pravda.ru.replay: Added.
832
833 2012-07-26  Arnaud Renevier  <a.renevier@sisa.samsung.com>
834
835         constructing TypedArray from another TypedArray is slow
836         https://bugs.webkit.org/show_bug.cgi?id=90838
837
838         Reviewed by Kenneth Russell.
839
840         * Bindings/typed-array-construct-from-same-type.html: Added.
841         * Bindings/typed-array-construct-from-typed.html: Added.
842
843 2012-07-25  Ryosuke Niwa  <rniwa@webkit.org>
844
845         Import more replay performance tests from Mozilla's Tp5 test suite
846         https://bugs.webkit.org/show_bug.cgi?id=92229
847
848         Reviewed by Andreas Kling.
849
850         Add more replay tests based on Mozilla's Tp5 test suite [1]. Unfortunately,
851         we cannot import all URLs because some of them are not archived on archive.org
852         and others do not replay well on web-page-replay. Nonethless, we're still adding
853         60+ URLs in this patch.
854
855         [1] http://people.mozilla.org/~jmaher/tp5.manifest
856
857         * Replay/Chinese: Added.
858         * Replay/Chinese/chinaz.com.replay: Added.
859         * Replay/Chinese/www.163.com.replay: Added.
860         * Replay/Chinese/www.alipay.com.replay: Added.
861         * Replay/Chinese/www.baidu.com.replay: Added.
862         * Replay/Chinese/www.csdn.net.replay: Added.
863         * Replay/Chinese/www.douban.com.replay: Added.
864         * Replay/Chinese/www.hao123.com.replay: Added.
865         * Replay/Chinese/www.xinhuanet.com.replay: Added.
866         * Replay/Chinese/www.xunlei.com.replay: Added.
867         * Replay/Chinese/www.youku.com.replay: Added.
868         * Replay/English: Added.
869         * Replay/English/beatonna.livejournal.com.replay: Added.
870         * Replay/English/cakewrecks.blogspot.com.replay: Added.
871         * Replay/English/chemistry.about.com.replay: Added.
872         * Replay/English/digg.com.replay: Added.
873         * Replay/English/en.wikipedia.org-rorschach_test.replay: Added.
874         * Replay/English/icanhascheezburger.com.replay: Added.
875         * Replay/English/imgur.com-gallery.replay: Added.
876         * Replay/English/online.wsj.com.replay: Added.
877         * Replay/English/stockoverflow.com-best-comment.replay: Added.
878         * Replay/English/www.alibaba.com.replay: Added.
879         * Replay/English/www.amazon.com-kindle.replay: Added.
880         * Replay/English/www.apple.com.replay: Added.
881         * Replay/English/www.cnet.com.replay: Added.
882         * Replay/English/www.dailymotion.com.replay: Added.
883         * Replay/English/www.ehow.com-prevent-fire.replay: Added.
884         * Replay/English/www.filestube.com-amy-adams.replay: Added.
885         * Replay/English/www.foxnews.replay: Added.
886         * Replay/English/www.huffingtonpost.com.replay: Added.
887         * Replay/English/www.imdb.com-twilight.replay: Added.
888         * Replay/English/www.mozilla.com-all-order.replay: Added.
889         * Replay/English/www.php.net.replay: Added.
890         * Replay/English/www.reddit.com.replay: Added.
891         * Replay/English/www.telegraph.co.uk.replay: Added.
892         * Replay/English/www.w3.org-htmlcss.replay: Added.
893         * Replay/English/www.w3schools.com-html.replay: Added.
894         * Replay/English/www.youtube.com-music.replay: Added.
895         * Replay/French: Added.
896         * Replay/French/www.orange.fr.replay: Added.
897         * Replay/German: Added.
898         * Replay/Italian: Added.
899         * Replay/Italian/www.repubblica.it.replay: Added.
900         * Replay/Japanese/entameblog.seesaa.net.replay: Added.
901         * Replay/Japanese/www.hatena.ne.jp.replay: Added.
902         * Replay/Japanese/www.nicovideo.jp.replay: Added.
903         * Replay/Korean: Added.
904         * Replay/Korean/www.naver.com.replay: Added.
905         * Replay/Persian: Added.
906         * Replay/Persian/blogfa.com.replay: Added.
907         * Replay/Polish: Added.
908         * Replay/Polish/www.wp.pl.replay: Added.
909         * Replay/Portuguese: Added.
910         * Replay/Portuguese/www.uol.com.br.replay: Added.
911         * Replay/Russian: Added.
912         * Replay/Russian/vkontakte.ru-help.replay: Added.
913         * Replay/Russian/www.rambler.ru.replay: Added.
914         * Replay/Russian/www.ucoz.ru.replay: Added.
915         * Replay/Russian/www.yandex.ru.replay: Added.
916         * Replay/Spanish: Added.
917         * Replay/Spanish/www.taringa.net.replay: Added.
918
919 2012-07-24  Ryosuke Niwa  <rniwa@webkit.org>
920
921         Add some Japanese and Swedish websites to replay tests
922         https://bugs.webkit.org/show_bug.cgi?id=92076
923
924         Reviewed by Andreas Kling.
925
926         Added new replay tests as follows.
927
928         * Replay/Japanese: Added.
929         * Replay/Japanese/2ch.net-newsplus.replay: Added.
930         * Replay/Japanese/ja.wikipedia.org.replay: Added.
931         * Replay/Japanese/www.livedoor.com.replay: Added.
932         * Replay/Japanese/www.rakuten.co.jp.replay: Added.
933         * Replay/Japanese/www.yahoo.co.jp.replay: Added.
934         * Replay/Swedish: Added.
935         * Replay/Swedish/www.flashback.se.replay: Added.
936         * Replay/Swedish/www.tradera.com.replay: Added.
937         * Replay/www.techcrunch.com.replay: Added.
938
939 2012-07-18  MORITA Hajime  <morrita@google.com>
940
941         Add window resize benchmark
942         https://bugs.webkit.org/show_bug.cgi?id=91070
943
944         Reviewed by Ryosuke Niwa.
945
946         Added window-resize.html which exercise html5.html. This test
947         resizes the window and forces re-layout repeatedly.
948
949         * Interactive/resources/window-resize.js: Added.
950         * Interactive/window-resize.html: Added.
951         * Parser/resources/html5.html: Modified to inject driver scripts.
952
953 2012-07-11  Philip Rogers  <pdr@google.com>
954
955         Add a performance test for hit testing in SVG
956         https://bugs.webkit.org/show_bug.cgi?id=90811
957
958         Reviewed by Ryosuke Niwa.
959
960         The shape rendering code is changing a lot and I'd like a performance test to
961         make sure we don't regress, and to track our improvements.
962
963         Performance results in my Linux desktop:
964             RESULT SVG: SvgHitTesting= 105.0 ms
965             median= 103.5 ms, stdev= 4.60434577329 ms, min= 101.0 ms, max= 116.0 ms
966
967             RESULT SVG: SvgHitTesting= 97.8 ms
968             median= 96.5 ms, stdev= 2.67581763205 ms, min= 95.0 ms, max= 102.0 ms
969
970             RESULT SVG: SvgHitTesting= 104.3 ms
971             median= 104.0 ms, stdev= 1.41774468788 ms, min= 102.0 ms, max= 107.0 ms
972
973             RESULT SVG: SvgHitTesting= 103.6 ms
974             median= 103.5 ms, stdev= 1.2 ms, min= 102.0 ms, max= 106.0 ms
975
976         * SVG/SvgHitTesting.html: Added.
977
978 2012-07-03  Jan Keromnes  <janx@linux.com>
979
980         Web Inspector: WebInspector.TextViewer should be renamed WebInspector.TextEditor
981         https://bugs.webkit.org/show_bug.cgi?id=89939
982
983         Reviewed by Vsevolod Vlasov.
984
985         * inspector/first-open-scripts.html.broken:
986
987 2012-06-22  Philip Rogers  <pdr@google.com>
988
989         Make SvgCubics performance test more consistent
990         https://bugs.webkit.org/show_bug.cgi?id=89778
991
992         Reviewed by Ryosuke Niwa.
993
994         Previously this test ran twice for each iteration, but this led to inconsistent repaints.
995         This change updates the test to only run once per iteration, and adds even more cubics
996         so that the test runs consistently in the 80ms range on my Linux desktop.
997
998         Performance results on my desktop:
999             RESULT SVG: SvgCubics= 80.5 ms
1000             median= 82.0 ms, stdev= 3.04138126515 ms, min= 75.0 ms, max= 85.0 ms
1001
1002             RESULT SVG: SvgCubics= 80.1 ms
1003             median= 81.0 ms, stdev= 4.27668095607 ms, min= 74.0 ms, max= 88.0 ms
1004
1005             RESULT SVG: SvgCubics= 81.45 ms
1006             median= 83.0 ms, stdev= 4.01839520207 ms, min= 75.0 ms, max= 89.0 ms
1007
1008             RESULT SVG: SvgCubics= 78.9 ms
1009             median= 80.0 ms, stdev= 4.75289385533 ms, min= 72.0 ms, max= 87.0 ms
1010
1011         * SVG/SvgCubics.html:
1012
1013 2012-06-22  Ilya Tikhonovsky  <loislo@chromium.org>
1014
1015         Web Inspector: partially instrument DOM Tree native memory.
1016         https://bugs.webkit.org/show_bug.cgi?id=89568
1017
1018         This patch adds MemoryInstrumentation class that counts all visited
1019         objects and calls reportMemoryUsage.
1020
1021         Reviewed by Yury Semikhatsky.
1022
1023         * inspector/native-memory-snapshot.html:
1024
1025 2012-06-21  Kentaro Hara  <haraken@chromium.org>
1026
1027         Add a perf-test for innerHTML setter for a large DOM tree
1028         https://bugs.webkit.org/show_bug.cgi?id=89723
1029
1030         Reviewed by Ryosuke Niwa.
1031
1032         We want a benchmark for innerHTML setter for the following reason:
1033
1034         - innerHTML setter is widely used in the real world.
1035         - I am planning to optimize innerHTML setter in the near future.
1036         - I want to use the innerHTML setter benchmark for the patch of bug 88834.
1037
1038         Performance results in my Linux desktop:
1039
1040         RESULT Parser: innerHTML-setter= 289.782649995 runs/s
1041         median= 290.046269741 runs/s, stdev= 1.06575112224 runs/s, min= 286.831812256 runs/s, max= 291.005291005 runs/s
1042
1043         RESULT Parser: innerHTML-setter= 289.020706132 runs/s
1044         median= 289.093298292 runs/s, stdev= 0.985203313093 runs/s, min= 286.831812256 runs/s, max= 290.620871863 runs/s
1045
1046         RESULT Parser: innerHTML-setter= 288.912051701 runs/s
1047         median= 291.005291005 runs/s, stdev= 3.65241325588 runs/s, min= 283.505154639 runs/s, max= 292.553191489 runs/s
1048
1049         RESULT Parser: innerHTML-setter= 288.644186666 runs/s
1050         median= 288.713910761 runs/s, stdev= 1.31889053717 runs/s, min= 286.085825748 runs/s, max= 290.620871863 runs/s
1051
1052         RESULT Parser: innerHTML-setter= 288.698714577 runs/s
1053         median= 288.713910761 runs/s, stdev= 1.03938198202 runs/s, min= 286.458333333 runs/s, max= 290.237467018 runs/s
1054
1055         * Parser/innerHTML-setter.html: Added.
1056
1057 2012-06-20  Philip Rogers  <pdr@google.com>
1058
1059         Add a performance test for paths in SVG
1060         https://bugs.webkit.org/show_bug.cgi?id=89547
1061
1062         Reviewed by Ryosuke Niwa.
1063
1064         This change adds the first performance test for SVG paths.
1065         In the test we modify complex cubic paths in several ways, testing:
1066         transformations, clipping, d attribute changes, stroke properties,
1067         text on a path, and opacity.
1068
1069         Sample test results on my Linux desktop:
1070             RESULT SVG: SvgCubics= 68.85 ms
1071             median= 69.5 ms, stdev= 4.70398767005 ms, min= 56.0 ms, max= 75.0 ms
1072
1073             RESULT SVG: SvgCubics= 68.4 ms
1074             median= 69.0 ms, stdev= 3.51283361405 ms, min= 59.0 ms, max= 74.0 ms
1075
1076             RESULT SVG: SvgCubics= 66.95 ms
1077             median= 67.0 ms, stdev= 3.4420197559 ms, min= 59.0 ms, max= 74.0 ms
1078
1079             RESULT SVG: SvgCubics= 70.2 ms
1080             median= 71.5 ms, stdev= 3.23419232576 ms, min= 63.0 ms, max= 74.0 ms
1081
1082         * SVG: Added.
1083         * SVG/SvgCubics.html: Added.
1084
1085 2012-06-20  Tom Zakrajsek  <tomz@codeaurora.org>
1086
1087         Import themaninblue.com/experiment/AnimationBenchmark/ as performance tests
1088         https://bugs.webkit.org/show_bug.cgi?id=78789
1089
1090         Reviewed by Ryosuke Niwa.
1091
1092         Added PerfTestRunner fixture around it.
1093
1094         * Animation/balls.html: Added.
1095
1096 2012-06-18  Ilya Tikhonovsky  <loislo@chromium.org>
1097
1098         Web Inspector: native memory snapshot performance and coverage test implementation.
1099         https://bugs.webkit.org/show_bug.cgi?id=89363
1100
1101         We have to track the performance of MemoryAgent.getProcessMemoryDistribution.
1102         Also this test will work as a burn down chart for Unknown memory metric.
1103
1104         Reviewed by Pavel Feldman.
1105
1106         * inspector/native-memory-snapshot.html: Added.
1107         * inspector/performance-test.js:
1108         (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer):
1109         (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.reportSize):
1110         (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump):
1111         (initialize_TimeTracker.InspectorTest.runPerformanceTest):
1112
1113 2012-06-05  Alexei Filippov  <alexeif@chromium.org>
1114
1115         Web Inspector: serialize edge counts instead of indexes in heap snapshot
1116         https://bugs.webkit.org/show_bug.cgi?id=88324
1117
1118         The serialized node structure currently holds an index
1119         of its first containment edge in the edges array.
1120         The index can be quite big (up to 7 digits for large snapshots).
1121         The patch changes the serialization format to pass
1122         node containment edge count instead. For most nodes the count
1123         is just a single digit number.
1124         This reduces serialized snapshot size and therefore its transfer time.
1125
1126         Reviewed by Yury Semikhatsky.
1127
1128         * inspector/heap-snapshot-performance-test.js:
1129
1130 2012-06-04  Alexei Filippov  <alexeif@chromium.org>
1131
1132         Web Inspector: speed up _calculateRetainedSizes function
1133         https://bugs.webkit.org/show_bug.cgi?id=87863
1134
1135         Reviewed by Yury Semikhatsky.
1136
1137         * inspector/heap-snapshot-advanced.html: Added.
1138         * inspector/heap-snapshot-performance-test.js: Copied from PerformanceTests/inspector/heap-snapshot.html.
1139         (test.performanceTest.step0):
1140         (test.performanceTest.step1):
1141         (test.performanceTest.step2):
1142         (test.performanceTest.cleanup):
1143         (test.performanceTest.done):
1144         (test.performanceTest):
1145         (test):
1146         * inspector/heap-snapshot.html:
1147
1148 2012-06-03  Kentaro Hara  <haraken@chromium.org>
1149
1150         [perf-test] Add a benchmark of querySelector() for an element that appears in the depths in the document
1151         https://bugs.webkit.org/show_bug.cgi?id=88202
1152
1153         Reviewed by Ryosuke Niwa.
1154
1155         query-selector-first.html tests querySelector() for an element
1156         that appears at the head of the document. query-selector-last.html
1157         tests querySelector() for an element that appears at the tail of
1158         the document. In addition, we want a benchmark of querySelector()
1159         for an element that appears in the depths in the document.
1160
1161         Test results in my Linux desktop:
1162
1163         RESULT Parser: query-selector-deep= 460.776980611 runs/s
1164         median= 460.947503201 runs/s, stdev= 1.72274941942 runs/s, min= 455.696202532 runs/s, max= 463.32046332 runs/s
1165
1166         RESULT Parser: query-selector-deep= 458.925050915 runs/s
1167         median= 459.183673469 runs/s, stdev= 1.47930124139 runs/s, min= 454.545454545 runs/s, max= 460.947503201 runs/s
1168
1169         RESULT Parser: query-selector-deep= 461.866981491 runs/s
1170         median= 461.538461538 runs/s, stdev= 1.14613123359 runs/s, min= 459.183673469 runs/s, max= 463.917525773 runs/s
1171
1172         RESULT Parser: query-selector-deep= 453.922010788 runs/s
1173         median= 454.258855898 runs/s, stdev= 1.77279123317 runs/s, min= 447.204968944 runs/s, max= 455.696202532 runs/s
1174
1175         RESULT Parser: query-selector-deep= 454.666321221 runs/s
1176         median= 454.545454545 runs/s, stdev= 1.65775667417 runs/s, min= 451.127819549 runs/s, max= 456.852791878 runs/s
1177
1178         * Parser/query-selector-deep.html: Added.
1179
1180 2012-06-03  Kentaro Hara  <haraken@chromium.org>
1181
1182         [perf-test] Make query-selector-last.html more realistic
1183         https://bugs.webkit.org/show_bug.cgi?id=88203
1184
1185         Reviewed by Ryosuke Niwa.
1186
1187         query-selector-last.html tests querySelector() for an element
1188         that appears after 1000 div elements, all of which have the same
1189         id and class. To test the performance of querySelector() under
1190         a lot of ids and classes, we should make the ids and classes of
1191         the 1000 elements different.
1192
1193         This patch degrades the performance of query-selector-last.html
1194         by 3.6%.
1195
1196         [Before]
1197         RESULT Parser: query-selector-last= 476.382274152 runs/s
1198         median= 476.821192053 runs/s, stdev= 1.14578875814 runs/s, min= 474.308300395 runs/s, max= 478.087649402 runs/s
1199
1200         RESULT Parser: query-selector-last= 478.423061861 runs/s
1201         median= 478.723404255 runs/s, stdev= 1.54876867255 runs/s, min= 473.684210526 runs/s, max= 481.347773767 runs/s
1202
1203         RESULT Parser: query-selector-last= 479.849287174 runs/s
1204         median= 480.0 runs/s, stdev= 1.69849752498 runs/s, min= 475.561426684 runs/s, max= 481.927710843 runs/s
1205
1206         RESULT Parser: query-selector-last= 476.765438846 runs/s
1207         median= 477.453580902 runs/s, stdev= 1.8724488664 runs/s, min= 471.821756225 runs/s, max= 478.723404255 runs/s
1208
1209         RESULT Parser: query-selector-last= 481.715340644 runs/s
1210         median= 481.637742305 runs/s, stdev= 1.81446361145 runs/s, min= 475.561426684 runs/s, max= 483.675937122 runs/s
1211
1212         [After]
1213         RESULT Parser: query-selector-last= 458.866623582 runs/s
1214         median= 459.183673469 runs/s, stdev= 1.48881464737 runs/s, min= 453.972257251 runs/s, max= 460.947503201 runs/s
1215
1216         RESULT Parser: query-selector-last= 460.363532897 runs/s
1217         median= 460.358056266 runs/s, stdev= 1.58512056995 runs/s, min= 456.273764259 runs/s, max= 462.130937099 runs/s
1218
1219         RESULT Parser: query-selector-last= 457.727448451 runs/s
1220         median= 458.015267176 runs/s, stdev= 1.23681915516 runs/s, min= 453.972257251 runs/s, max= 459.183673469 runs/s
1221
1222         RESULT Parser: query-selector-last= 465.57336853 runs/s
1223         median= 465.717981889 runs/s, stdev= 1.6616925374 runs/s, min= 460.947503201 runs/s, max= 467.532467532 runs/s
1224
1225         RESULT Parser: query-selector-last= 459.836252019 runs/s
1226         median= 459.770114943 runs/s, stdev= 1.84485630505 runs/s, min= 455.696202532 runs/s, max= 462.724935733 runs/s
1227
1228         * Parser/query-selector-last.html:
1229
1230 2012-06-01  Ryosuke Niwa  <rniwa@webkit.org>
1231
1232         Add public page loading performance tests using web-page-replay
1233         https://bugs.webkit.org/show_bug.cgi?id=84008
1234
1235         Reviewed by Dirk Pranke.
1236
1237         Add replay tests for google.com and youtube.com as examples.
1238
1239         * Replay: Added.
1240         * Replay/www.google.com.replay: Added.
1241         * Replay/www.youtube.com.replay: Added.
1242
1243 2012-05-30  Kentaro Hara  <haraken@chromium.org>
1244
1245         [perf-test] Add a benchmark for querySelector()
1246         https://bugs.webkit.org/show_bug.cgi?id=87742
1247
1248         Reviewed by Ryosuke Niwa.
1249
1250         Now I am optimizing querySelector() (bug 87625).
1251         This patch adds a performance test for querySelector().
1252         query-selector-first.html queries an element that appears
1253         at the head of the document. On the other hand,
1254         query-selector-last.html queries an element that appears
1255         at the tail of the document.
1256
1257         Test results in my desktop:
1258
1259         [query-selector-first.html]
1260         RESULT Parser: query-selector-first= 252.339803014 runs/s
1261         median= 253.646265594 runs/s, stdev= 2.32610873209 runs/s, min= 248.138957816 runs/s, max= 254.777070064 runs/s
1262
1263         RESULT Parser: query-selector-first= 252.688468897 runs/s
1264         median= 252.684876579 runs/s, stdev= 3.60008778708 runs/s, min= 246.002460025 runs/s, max= 258.397932817 runs/s
1265
1266         RESULT Parser: query-selector-first= 253.466019656 runs/s
1267         median= 254.129606099 runs/s, stdev= 1.78002675664 runs/s, min= 247.831474597 runs/s, max= 254.777070064 runs/s
1268
1269         RESULT Parser: query-selector-first= 256.245078189 runs/s
1270         median= 257.06940874 runs/s, stdev= 2.84722072201 runs/s, min= 249.687890137 runs/s, max= 259.74025974 runs/s
1271
1272         RESULT Parser: query-selector-first= 252.203100497 runs/s
1273         median= 252.047989175 runs/s, stdev= 1.75233446036 runs/s, min= 248.138957816 runs/s, max= 255.427841635 runs/s
1274
1275         [query-selector-last.html]
1276         RESULT Parser: query-selector-last= 356.009616076 runs/s
1277         median= 355.781448539 runs/s, stdev= 0.841519086864 runs/s, min= 354.430379747 runs/s, max= 358.056265985 runs/s
1278
1279         RESULT Parser: query-selector-last= 360.735271001 runs/s
1280         median= 361.057532424 runs/s, stdev= 1.12253219867 runs/s, min= 358.514724712 runs/s, max= 362.225097025 runs/s
1281
1282         RESULT Parser: query-selector-last= 359.598592463 runs/s
1283         median= 359.435173299 runs/s, stdev= 0.816538258728 runs/s, min= 358.056265985 runs/s, max= 360.824742268 runs/s
1284
1285         RESULT Parser: query-selector-last= 357.260651715 runs/s
1286         median= 357.598978289 runs/s, stdev= 1.17393159885 runs/s, min= 353.982300885 runs/s, max= 358.974358974 runs/s
1287
1288         RESULT Parser: query-selector-last= 351.696240713 runs/s
1289         median= 351.980025916 runs/s, stdev= 1.14200564038 runs/s, min= 348.692403487 runs/s, max= 353.535353535 runs/s
1290
1291         * Parser/query-selector-first.html: Added.
1292         * Parser/query-selector-last.html: Added.
1293
1294 2012-05-25  Ilya Tikhonovsky  <loislo@chromium.org>
1295
1296         Web Inspector: HeapSnapshot: introduce performance counter for HeapSnapshotConstructorsDataGrid._aggregatesReceived method.
1297         https://bugs.webkit.org/show_bug.cgi?id=87393
1298
1299         Reviewed by Yury Semikhatsky.
1300
1301         * inspector/heap-snapshot.html:
1302
1303 2012-05-25  Ilya Tikhonovsky  <loislo@chromium.org>
1304
1305         Web Inspector: HeapProfiler's perf test: each N-th run pushes the run results N-th times.
1306         https://bugs.webkit.org/show_bug.cgi?id=87476
1307
1308         The time tracking wrappers were attaching on each run.
1309
1310         Reviewed by Yury Semikhatsky.
1311
1312         * inspector/heap-snapshot.html:
1313
1314 2012-05-22  Ilya Tikhonovsky  <loislo@chromium.org>
1315
1316         Web Inspector: HeapProfiler: upstream retainedSize calculation.
1317         https://bugs.webkit.org/show_bug.cgi?id=87107
1318
1319         This patch upstreams V8::HeapSnapshotGenerator::CalculateRetainedSizes function to front-end.
1320         After that we will be able to drop retainedSize field from the snapshot serialized data.
1321         See meta-bug https://bugs.webkit.org/show_bug.cgi?id=87089
1322
1323         Reviewed by Yury Semikhatsky.
1324
1325         * inspector/heap-snapshot.html: add counter for the _calculateRetainedSize method.
1326
1327 2012-05-21  Kent Tamura  <tkent@chromium.org>
1328
1329         Add performance tests for <textarea>
1330         https://bugs.webkit.org/show_bug.cgi?id=86994
1331
1332         Reviewed by Ryosuke Niwa.
1333
1334         * DOM/textarea-dom.html: Added.
1335         * DOM/textarea-edit.html: Added.
1336         * Parser/textarea-parsing.html: Added.
1337
1338 2012-05-18  Ilya Tikhonovsky  <loislo@chromium.org>
1339
1340         Web Inspector: upstream build dominators tree procedure from v8.
1341         https://bugs.webkit.org/show_bug.cgi?id=86640
1342
1343         The idea is to reduce transfer size and move all the post-processing steps to the front-end.
1344         The JS implementation is ~1.5 times slower.
1345
1346         Reviewed by Yury Semikhatsky.
1347
1348         Covered by existing tests and performance tests.
1349
1350         * inspector/heap-snapshot.html:
1351
1352 2012-05-18  Kentaro Hara  <haraken@chromium.org>
1353
1354         [perf-test] Remove Bindings/dom-attributes.html
1355         https://bugs.webkit.org/show_bug.cgi?id=86820
1356
1357         Reviewed by Ryosuke Niwa.
1358
1359         Bindings/dom-attributes.html is just a collection of random
1360         DOM attributes and methods. Now we've added more reasonable
1361         micro benchmarks by classifying DOM binding call paths, we
1362         can remove Bindings/dom-attributes.html.
1363
1364         * Bindings/dom-attributes.html: Removed.
1365
1366 2012-05-18  Kentaro Hara  <haraken@chromium.org>
1367
1368         [perf-test] Add a binding benchmark for getElementById() for an undefined id
1369         https://bugs.webkit.org/show_bug.cgi?id=86812
1370
1371         Reviewed by Ryosuke Niwa.
1372
1373         We should remove Bindings/dom-attributes.html and instead add more
1374         reasonable micro benchmarks by classifying DOM binding call paths.
1375
1376         This patch adds a benchmark for document.getElementById() for an undefined id.
1377         This benchmark covers 'getElementById (not in document)' in Dromaeo/dom-query.html,
1378         and other Node-query methods that return a null.'
1379
1380         (Note: This benchmark is slower than document.getElementById() for a defined id.
1381         We will fix the performance issue soon.)
1382
1383         Test results in my Linux desktop:
1384
1385         RESULT Bindings: undefined-get-element-by-id= 271.945751345 runs/s
1386         median= 273.122389532 runs/s, stdev= 6.78219237299 runs/s, min= 257.4002574 runs/s, max= 281.690140845 runs/s
1387
1388         RESULT Bindings: undefined-get-element-by-id= 269.105872408 runs/s
1389         median= 268.948655257 runs/s, stdev= 5.73707323755 runs/s, min= 257.4002574 runs/s, max= 278.128950695 runs/s
1390
1391         RESULT Bindings: undefined-get-element-by-id= 269.987513372 runs/s
1392         median= 272.952853598 runs/s, stdev= 5.30252336078 runs/s, min= 255.754475703 runs/s, max= 273.97260274 runs/s
1393
1394         RESULT Bindings: undefined-get-element-by-id= 270.169625901 runs/s
1395         median= 271.604938272 runs/s, stdev= 5.29502391906 runs/s, min= 258.064516129 runs/s, max= 278.481012658 runs/s
1396
1397         RESULT Bindings: undefined-get-element-by-id= 269.054631422 runs/s
1398         median= 267.966292802 runs/s, stdev= 6.27197240579 runs/s, min= 258.064516129 runs/s, max= 278.481012658 runs/s
1399
1400         * Bindings/undefined-get-element-by-id.html: Added.
1401
1402 2012-05-18  Kentaro Hara  <haraken@chromium.org>
1403
1404         [perf-test] Add a binding benchmark for getElementsByTagName()
1405         https://bugs.webkit.org/show_bug.cgi?id=86810
1406
1407         Reviewed by Ryosuke Niwa.
1408
1409         We should remove Bindings/dom-attributes.html and instead add more
1410         reasonable micro benchmarks by classifying DOM binding call paths.
1411
1412         This patch adds a benchmark for document.getElementsByTagName().
1413         This benchmark covers 'getElementsByTagName (not in document)',
1414         'getElementsByTagName', 'getElementsByName (not in document)'
1415         and 'getElementsByName' in Dromaeo/dom-query.html, and other DOM
1416         methods that return a NodeList.
1417
1418         Test results in my Linux desktop:
1419
1420         RESULT Bindings: get-elements-by-tag-name= 364.542328875 runs/s
1421         median= 366.972477064 runs/s, stdev= 5.25387955333 runs/s, min= 351.317440402 runs/s, max= 368.421052632 runs/s
1422
1423         RESULT Bindings: get-elements-by-tag-name= 364.341569369 runs/s
1424         median= 366.492146597 runs/s, stdev= 4.867374197 runs/s, min= 352.644836272 runs/s, max= 367.936925099 runs/s
1425
1426         RESULT Bindings: get-elements-by-tag-name= 363.924242967 runs/s
1427         median= 366.013071895 runs/s, stdev= 5.16768212289 runs/s, min= 351.317440402 runs/s, max= 367.936925099 runs/s
1428
1429         RESULT Bindings: get-elements-by-tag-name= 365.332594438 runs/s
1430         median= 367.454068241 runs/s, stdev= 6.17046918572 runs/s, min= 350.0 runs/s, max= 370.37037037 runs/s
1431
1432         RESULT Bindings: get-elements-by-tag-name= 363.999514324 runs/s
1433         median= 366.492146597 runs/s, stdev= 5.31235674905 runs/s, min= 350.877192982 runs/s, max= 368.421052632 runs/s
1434
1435         * Bindings/get-elements-by-tag-name.html: Added.
1436
1437 2012-05-18  Kentaro Hara  <haraken@chromium.org>
1438
1439         [perf-test] Add 7 micro benchmarks for DOM bindings
1440         https://bugs.webkit.org/show_bug.cgi?id=86816
1441
1442         Reviewed by Ryosuke Niwa.
1443
1444         We should remove Bindings/dom-attributes.html and instead add more
1445         reasonable micro benchmarks by classifying DOM binding call paths.
1446         This patch adds seven micro benchmarks for DOM bindings.
1447
1448         id-getter.html covers 'element.property' in Dromaeo/dom-attr.html,
1449         'innerHTML' in Dromaeo/dom-modify.html, and other DOM attributes that
1450         return a String.
1451
1452         id-setter.html covers 'element.property = value' in Dromaeo/dom-attr.html,
1453         and other DOM attributes that sets a String.
1454
1455         undefined-id-getter.html covers undefined DOM attributes that return an empty String.
1456
1457         append-child.html covers 'appendChild' and 'removeChild' in Dromaeo/dom-modify.html.
1458
1459         insert-before.html covers 'insertBefore' in Dromaeo/dom-modify.html and replaceChild().
1460
1461         create-element.html covers 'createElement', 'createTextNode' and 'cloneNode'
1462         in Dromaeo/dom-modify.html, and other DOM methods that return a new Node object.
1463
1464         node-list-access.html covers 'childNodes' in Dromaeo/dom-traverse.html,
1465         and other DOM attributes that access NodeList.
1466
1467         Test results in my Linux desktop:
1468
1469         [id-getter]
1470         RESULT Bindings: id-getter= 550.517821097 runs/s
1471         median= 550.688360451 runs/s, stdev= 0.970723739106 runs/s, min= 548.628428928 runs/s, max= 552.070263488 runs/s
1472
1473         RESULT Bindings: id-getter= 550.655839847 runs/s
1474         median= 550.688360451 runs/s, stdev= 1.03312821884 runs/s, min= 549.313358302 runs/s, max= 552.070263488 runs/s
1475
1476         RESULT Bindings: id-getter= 550.277753355 runs/s
1477         median= 550.344180225 runs/s, stdev= 1.19960683464 runs/s, min= 547.945205479 runs/s, max= 552.070263488 runs/s
1478
1479         RESULT Bindings: id-getter= 550.072271009 runs/s
1480         median= 550.344180225 runs/s, stdev= 1.38925152131 runs/s, min= 547.263681592 runs/s, max= 552.070263488 runs/s
1481
1482         RESULT Bindings: id-getter= 548.802050235 runs/s
1483         median= 548.628428928 runs/s, stdev= 1.18244513683 runs/s, min= 545.905707196 runs/s, max= 550.688360451 runs/s
1484
1485         [id-setter]
1486         RESULT Bindings: id-setter= 211.370591663 runs/s
1487         median= 210.803689065 runs/s, stdev= 1.4555795889 runs/s, min= 209.973753281 runs/s, max= 214.285714286 runs/s
1488
1489         RESULT Bindings: id-setter= 215.439081352 runs/s
1490         median= 214.797136038 runs/s, stdev= 1.50920388121 runs/s, min= 213.049267643 runs/s, max= 218.446601942 runs/s
1491
1492         RESULT Bindings: id-setter= 216.721698466 runs/s
1493         median= 215.956886352 runs/s, stdev= 1.54090749644 runs/s, min= 214.285714286 runs/s, max= 219.78021978 runs/s
1494
1495         RESULT Bindings: id-setter= 216.343019087 runs/s
1496         median= 215.827338129 runs/s, stdev= 1.46619894553 runs/s, min= 215.053763441 runs/s, max= 218.97810219 runs/s
1497
1498         RESULT Bindings: id-setter= 216.799288017 runs/s
1499         median= 215.956886352 runs/s, stdev= 1.49100776978 runs/s, min= 215.311004785 runs/s, max= 219.78021978 runs/s
1500
1501         [undefined-id-getter]
1502         RESULT Bindings: undefined-id-getter= 494.104255241 runs/s
1503         median= 494.132368875 runs/s, stdev= 1.13092821109 runs/s, min= 490.797546012 runs/s, max= 495.662949195 runs/s
1504
1505         RESULT Bindings: undefined-id-getter= 493.921802916 runs/s
1506         median= 493.827160494 runs/s, stdev= 1.25097443119 runs/s, min= 490.196078431 runs/s, max= 495.662949195 runs/s
1507
1508         RESULT Bindings: undefined-id-getter= 491.976485667 runs/s
1509         median= 492.004920049 runs/s, stdev= 0.947090576896 runs/s, min= 490.196078431 runs/s, max= 493.827160494 runs/s
1510
1511         RESULT Bindings: undefined-id-getter= 491.987710185 runs/s
1512         median= 494.132368875 runs/s, stdev= 8.66602543327 runs/s, min= 454.545454545 runs/s, max= 495.662949195 runs/s
1513
1514         RESULT Bindings: undefined-id-getter= 494.195515847 runs/s
1515         median= 494.437577256 runs/s, stdev= 1.06135681702 runs/s, min= 490.797546012 runs/s, max= 495.662949195 runs/s
1516
1517         [append-child]
1518         RESULT Bindings: append-child= 260.628237026 runs/s
1519         median= 260.926399352 runs/s, stdev= 2.55231060598 runs/s, min= 256.739409499 runs/s, max= 265.604249668 runs/s
1520
1521         RESULT Bindings: append-child= 280.796193436 runs/s
1522         median= 280.791435348 runs/s, stdev= 2.53961321867 runs/s, min= 277.427490542 runs/s, max= 286.085825748 runs/s
1523
1524         RESULT Bindings: append-child= 279.856209714 runs/s
1525         median= 280.25477707 runs/s, stdev= 2.85447647301 runs/s, min= 275.344180225 runs/s, max= 284.237726098 runs/s
1526
1527         RESULT Bindings: append-child= 280.834502714 runs/s
1528         median= 280.25477707 runs/s, stdev= 2.67738046429 runs/s, min= 277.427490542 runs/s, max= 287.206266319 runs/s
1529
1530         RESULT Bindings: append-child= 274.723872106 runs/s
1531         median= 273.291925466 runs/s, stdev= 3.03671746706 runs/s, min= 272.614622057 runs/s, max= 282.413350449 runs/s
1532
1533         [insert-before]
1534         RESULT Bindings: insert-before= 180.986913006 runs/s
1535         median= 180.878552972 runs/s, stdev= 0.758038687299 runs/s, min= 180.18018018 runs/s, max= 183.968462549 runs/s
1536
1537         RESULT Bindings: insert-before= 186.339916144 runs/s
1538         median= 186.170212766 runs/s, stdev= 0.869022097127 runs/s, min= 185.676392573 runs/s, max= 189.798339265 runs/s
1539
1540         RESULT Bindings: insert-before= 189.45344838 runs/s
1541         median= 189.349112426 runs/s, stdev= 0.811854866567 runs/s, min= 187.79342723 runs/s, max= 192.539109507 runs/s
1542
1543         RESULT Bindings: insert-before= 189.363295991 runs/s
1544         median= 189.349112426 runs/s, stdev= 0.75387713097 runs/s, min= 188.014101058 runs/s, max= 192.076830732 runs/s
1545
1546         RESULT Bindings: insert-before= 189.252041642 runs/s
1547         median= 189.349112426 runs/s, stdev= 0.840447225363 runs/s, min= 187.573270809 runs/s, max= 192.076830732 runs/s
1548
1549         [create-element]
1550         RESULT Bindings: create-element= 280.675830077 runs/s
1551         median= 280.701824914 runs/s, stdev= 0.788606343054 runs/s, min= 279.441117764 runs/s, max= 282.542885974 runs/s
1552
1553         RESULT Bindings: create-element= 276.427631436 runs/s
1554         median= 277.227722772 runs/s, stdev= 3.39874667549 runs/s, min= 262.417994377 runs/s, max= 279.162512463 runs/s
1555
1556         RESULT Bindings: create-element= 277.156894411 runs/s
1557         median= 277.227722772 runs/s, stdev= 1.13255119226 runs/s, min= 274.914089347 runs/s, max= 278.884462151 runs/s
1558
1559         RESULT Bindings: create-element= 278.066825356 runs/s
1560         median= 278.191822254 runs/s, stdev= 0.686497782792 runs/s, min= 276.953511375 runs/s, max= 279.162512463 runs/s
1561
1562         RESULT Bindings: create-element= 276.431538109 runs/s
1563         median= 276.406712734 runs/s, stdev= 0.759593662298 runs/s, min= 275.229357798 runs/s, max= 278.053624628 runs/s
1564
1565         [node-list-access]
1566         RESULT Bindings: node-list-access= 222.747504073 runs/s
1567         median= 222.772277228 runs/s, stdev= 0.789027527555 runs/s, min= 221.674876847 runs/s, max= 224.159402242 runs/s
1568
1569         RESULT Bindings: node-list-access= 220.722448287 runs/s
1570         median= 221.266217576 runs/s, stdev= 1.65463497875 runs/s, min= 217.391304348 runs/s, max= 222.222222222 runs/s
1571
1572         RESULT Bindings: node-list-access= 222.195870443 runs/s
1573         median= 222.222222222 runs/s, stdev= 0.489709262091 runs/s, min= 221.13022113 runs/s, max= 223.048327138 runs/s
1574
1575         RESULT Bindings: node-list-access= 221.431121677 runs/s
1576         median= 221.538545435 runs/s, stdev= 0.608292116087 runs/s, min= 220.048899756 runs/s, max= 222.772277228 runs/s
1577
1578         RESULT Bindings: node-list-access= 219.001367135 runs/s
1579         median= 221.538545435 runs/s, stdev= 4.65773933007 runs/s, min= 209.973753281 runs/s, max= 222.496909765 runs/s
1580
1581         * Bindings/append-child.html: Added.
1582         * Bindings/create-element.html: Added.
1583         * Bindings/id-getter.html: Added.
1584         * Bindings/id-setter.html: Added.
1585         * Bindings/insert-before.html: Added.
1586         * Bindings/node-list-access.html: Added.
1587         * Bindings/undefined-id-getter.html: Added.
1588
1589 2012-05-18  Kentaro Hara  <haraken@chromium.org>
1590
1591         [perf-test] Add a binding benchmark for div.setAttribute()
1592         https://bugs.webkit.org/show_bug.cgi?id=86815
1593
1594         Reviewed by Ryosuke Niwa.
1595
1596         We should remove Bindings/dom-attributes.html and instead add more
1597         reasonable micro benchmarks by classifying DOM binding call paths.
1598
1599         This patch adds a benchmark for div.setAttribute(). This benchmark
1600         covers 'setAttribute' in Dromaeo/dom-attr.html and other DOM methods
1601         that return an undefined.
1602
1603         Test results in my Linux desktop:
1604
1605         RESULT Bindings: set-attribute= 793.745073252 runs/s
1606         median= 791.589665765 runs/s, stdev= 6.00467159709 runs/s, min= 785.27607362 runs/s, max= 808.080808081 runs/s
1607
1608         RESULT Bindings: set-attribute= 790.858444164 runs/s
1609         median= 787.918921436 runs/s, stdev= 7.86264953655 runs/s, min= 780.234070221 runs/s, max= 806.04534005 runs/s
1610
1611         RESULT Bindings: set-attribute= 787.277571417 runs/s
1612         median= 784.31372549 runs/s, stdev= 7.45363346657 runs/s, min= 778.588807786 runs/s, max= 804.020100503 runs/s
1613
1614         RESULT Bindings: set-attribute= 782.401393791 runs/s
1615         median= 779.062978802 runs/s, stdev= 6.48250081621 runs/s, min= 777.642770352 runs/s, max= 796.019900498 runs/s
1616
1617         RESULT Bindings: set-attribute= 791.792516608 runs/s
1618         median= 791.556728232 runs/s, stdev= 6.49182980397 runs/s, min= 779.220779221 runs/s, max= 808.080808081 runs/s
1619
1620         * Bindings/set-attribute.html: Added.
1621
1622 2012-05-17  Kentaro Hara  <haraken@chromium.org>
1623
1624         [perf-test] Add a binding benchmark for div.getAttribute()
1625         https://bugs.webkit.org/show_bug.cgi?id=86814
1626
1627         Reviewed by Ryosuke Niwa.
1628
1629         We should remove Bindings/dom-attributes.html and instead add more
1630         reasonable micro benchmarks by classifying DOM binding call paths.
1631
1632         This patch adds a benchmark for div.getAttribute(). This benchmark
1633         covers 'getAttribute' in Dromaeo/dom-attr.html, and other DOM methods
1634         that return a String.
1635
1636         Test results in my Linux desktop:
1637
1638         RESULT Bindings: get-attribute= 250.088158538 runs/s
1639         median= 250.469728765 runs/s, stdev= 4.66551901315 runs/s, min= 240.673886883 runs/s, max= 256.739409499 runs/s
1640
1641         RESULT Bindings: get-attribute= 250.209764698 runs/s
1642         median= 250.626959986 runs/s, stdev= 4.12030002477 runs/s, min= 241.254523522 runs/s, max= 255.102040816 runs/s
1643
1644         RESULT Bindings: get-attribute= 248.907532887 runs/s
1645         median= 250.312891114 runs/s, stdev= 3.23173125874 runs/s, min= 240.673886883 runs/s, max= 251.572327044 runs/s
1646
1647         RESULT Bindings: get-attribute= 250.243680844 runs/s
1648         median= 250.783797637 runs/s, stdev= 4.19327170024 runs/s, min= 240.963855422 runs/s, max= 255.102040816 runs/s
1649
1650         RESULT Bindings: get-attribute= 245.329046608 runs/s
1651         median= 244.948040416 runs/s, stdev= 2.24314248534 runs/s, min= 240.384615385 runs/s, max= 248.756218905 runs/s
1652
1653         * Bindings/get-attribute.html: Added.
1654
1655 2012-05-17  Kentaro Hara  <haraken@chromium.org>
1656
1657         [perf-test] Add a binding benchmark for getElementById()
1658         https://bugs.webkit.org/show_bug.cgi?id=86808
1659
1660         Reviewed by Ryosuke Niwa.
1661
1662         Currently Bindings/dom-attributes.html is just a collection
1663         of random DOM attributes and methods. We should remove it and
1664         instead add more reasonable micro benchmarks by classifying
1665         DOM binding call paths.
1666
1667         This patch adds a benchmark for document.getElementById(),
1668         which covers other DOM methods that return a Node Object.
1669
1670         The reason why we want to add a benchmark for document.getElementById()
1671         in spite of the fact that Dromaeo/dom-query.html is already testing
1672         document.getElementById(), is that Dromaeo/dom-query.html outputs one
1673         result for several benchmarks (i.e. getElementById().nodeType,
1674         getElementsByTagName()[0].nodeType etc), and thus we cannot observe
1675         regression of getElementById() itself. (Catching regression of
1676         getElementById() would be critical.)
1677
1678         Test results in my Linux desktop:
1679
1680         RESULT Bindings: get-element-by-id= 300.933707795 runs/s
1681         median= 302.267002519 runs/s, stdev= 3.04954648504 runs/s, min= 295.930949445 runs/s, max= 305.34351145 runs/s
1682
1683         RESULT Bindings: get-element-by-id= 302.030324483 runs/s
1684         median= 302.267481977 runs/s, stdev= 1.78518068367 runs/s, min= 298.507462687 runs/s, max= 304.568527919 runs/s
1685
1686         RESULT Bindings: get-element-by-id= 301.993483538 runs/s
1687         median= 302.648171501 runs/s, stdev= 1.87604126626 runs/s, min= 296.662546354 runs/s, max= 304.568527919 runs/s
1688
1689         RESULT Bindings: get-element-by-id= 301.936607982 runs/s
1690         median= 302.45758701 runs/s, stdev= 1.88991087072 runs/s, min= 298.879202989 runs/s, max= 304.955527319 runs/s
1691
1692         RESULT Bindings: get-element-by-id= 301.952234563 runs/s
1693         median= 302.648171501 runs/s, stdev= 1.59929752614 runs/s, min= 299.625468165 runs/s, max= 304.568527919 runs/s
1694
1695         * Bindings/get-element-by-id.html: Added.
1696
1697 2012-05-17  Kentaro Hara  <haraken@chromium.org>
1698
1699         [perf-test] Add a benchmark for body.scrollTop
1700         https://bugs.webkit.org/show_bug.cgi?id=86806
1701
1702         Reviewed by Ryosuke Niwa.
1703
1704         Currently Bindings/dom-attributes.html is just a collection of random
1705         DOM attributes and methods. We should remove it and instead add more
1706         reasonable micro benchmarks by classifying DOM binding call paths.
1707
1708         This patch adds a benchmark for body.scrollTop, which covers other
1709         DOM attributes that return small integers.
1710
1711         (Note: Performance optimization for the benchmark will be coming soon.)
1712
1713         Test results in my Linux desktop:
1714
1715         RESULT Bindings: scroll-top= 209.410654239 runs/s
1716         median= 211.64021164 runs/s, stdev= 4.09958741195 runs/s, min= 201.005025126 runs/s, max= 212.483399734 runs/s
1717
1718         RESULT Bindings: scroll-top= 195.651111157 runs/s
1719         median= 196.319018405 runs/s, stdev= 1.77011627406 runs/s, min= 191.846522782 runs/s, max= 197.28729963 runs/s
1720         RESULT Bindings: scroll-top= 200.004907612 runs/s
1721         median= 201.511335013 runs/s, stdev= 3.27455403827 runs/s, min= 193.236714976 runs/s, max= 202.53164557 runs/s
1722
1723         RESULT Bindings: scroll-top= 209.582737512 runs/s
1724         median= 210.803689065 runs/s, stdev= 3.16769655464 runs/s, min= 203.045685279 runs/s, max= 211.920529801 runs/s
1725
1726         RESULT Bindings: scroll-top= 199.924607687 runs/s
1727         median= 201.13144338 runs/s, stdev= 3.11080503619 runs/s, min= 193.003618818 runs/s, max= 202.02020202 runs/s
1728
1729         * Bindings/scroll-top.html: Added.
1730
1731 2012-05-17  Kentaro Hara  <haraken@chromium.org>
1732
1733         [perf-test] Add a micro benchmark for div.firstChild getter for an undefined firstChild
1734         https://bugs.webkit.org/show_bug.cgi?id=86725
1735
1736         Reviewed by Ryosuke Niwa.
1737
1738         We are going to remove Bindings/dom-attributes.html and instead add more
1739         reasonable micro benchmarks by classifying DOM binding call paths.
1740
1741         In this bug, we add a micro benchmark for div.firstChild getter for an
1742         undefined firstChild. This benchmark covers other undefined DOM attributes
1743         that return a null.
1744
1745         (Note: In V8, div.firstChild for an undefined firstChild is currently slower
1746         than div.firstChild for a defined firstChild.)
1747
1748         Test results in my Linux desktop:
1749
1750         RESULT Bindings: undefined-first-child= 541.408311042 runs/s
1751         median= 541.205412054 runs/s, stdev= 1.29841219187 runs/s, min= 537.897310513 runs/s, max= 543.209876543 runs/s
1752
1753         RESULT Bindings: undefined-first-child= 541.00750695 runs/s
1754         median= 540.540540541 runs/s, stdev= 0.967521230965 runs/s, min= 539.215686275 runs/s, max= 543.209876543 runs/s
1755
1756         RESULT Bindings: undefined-first-child= 523.630714897 runs/s
1757         median= 523.560209424 runs/s, stdev= 1.01570919645 runs/s, min= 522.193211488 runs/s, max= 525.624178712 runs/s
1758
1759         RESULT Bindings: undefined-first-child= 553.077663588 runs/s
1760         median= 553.459119497 runs/s, stdev= 0.805697397863 runs/s, min= 551.378446115 runs/s, max= 554.156171285 runs/s
1761
1762         RESULT Bindings: undefined-first-child= 541.5401432 runs/s
1763         median= 541.538666618 runs/s, stdev= 0.954301364767 runs/s, min= 539.877300613 runs/s, max= 543.209876543 runs/s
1764
1765         * Bindings/undefined-first-child.html: Added.
1766
1767 2012-05-17  Kentaro Hara  <haraken@chromium.org>
1768
1769         [Performance test] Add a micro benchmark for div.firstChild getter
1770         https://bugs.webkit.org/show_bug.cgi?id=86582
1771
1772         Reviewed by Ryosuke Niwa.
1773
1774         We are going to remove Bindings/dom-attributes.html and instead add more
1775         reasonable micro benchmarks by classifying DOM binding call paths.
1776
1777         In this bug, we add a micro benchmark for div.firstChild getter.
1778         This benchmark covers 'firstChild', 'lastChild', 'nextSibling' and
1779         'previousSibling' in Dromaeo/dom-traverse.html, and other DOM attributes
1780         that return a Node object.
1781
1782         Multiple test results in my Linux desktop:
1783
1784         RESULT Bindings: first-child= 798.157160346 runs/s
1785         median= 798.004987531 runs/s, stdev= 1.52006063407 runs/s, min= 796.019900498 runs/s, max= 801.001251564 runs/s
1786         RESULT Bindings: first-child= 797.603608554 runs/s
1787         median= 797.872340426 runs/s, stdev= 2.2522621261 runs/s, min= 791.556728232 runs/s, max= 801.001251564 runs/s
1788         RESULT Bindings: first-child= 798.656295468 runs/s
1789         median= 798.004987531 runs/s, stdev= 1.79367478063 runs/s, min= 797.01120797 runs/s, max= 803.011292346 runs/s
1790         RESULT Bindings: first-child= 797.812784267 runs/s
1791         median= 798.004987531 runs/s, stdev= 2.31766523191 runs/s, min= 791.100123609 runs/s, max= 802.005012531 runs/s
1792         RESULT Bindings: first-child= 797.963311597 runs/s
1793         median= 798.004987531 runs/s, stdev= 2.53014907337 runs/s, min= 789.14919852 runs/s, max= 801.001251564 runs/s
1794
1795         * Bindings/first-child.html: Added.
1796
1797 2012-05-16  Kentaro Hara  <haraken@chromium.org>
1798
1799         [Performance test] Support "description" for PerfTestRunner.run and PerfTestRunner.runPerSecond
1800         https://bugs.webkit.org/show_bug.cgi?id=86696
1801
1802         Reviewed by Ryosuke Niwa.
1803
1804         We want to add some description for each PerfTestRunner.run and
1805         PerfTestRunner.runPerSecond, so that people can know what each
1806         run is testing.
1807
1808         Output example:
1809
1810         $ ./Tools/Scripts/run-perf-tests Bindings/first-child.html
1811         Running Bindings/first-child.html (1 of 1)
1812         DESCRIPTION: Benchmark for DOM attributes that return a Node object.
1813         RESULT Bindings: first-child= 788.359076534 runs/s
1814         median= 797.508097751 runs/s, stdev= 19.0972905207 runs/s, min= 746.666666667 runs/s, max= 801.001251564 runs/s
1815
1816         * resources/runner.js:
1817         (PerfTestRunner.logStatistics):
1818         (PerfTestRunner.printStatistics):
1819         (PerfTestRunner.runPerSecond):
1820
1821 2012-05-16  Yury Semikhatsky  <yurys@chromium.org>
1822
1823         Unreviewed. Fix heap profiler performance test after r117234.
1824
1825         * inspector/heap-snapshot.html:
1826
1827 2012-05-14  Ryosuke Niwa  <rniwa@webkit.org>
1828
1829         Convert CSS and Parser tests to runs/s tests
1830         https://bugs.webkit.org/show_bug.cgi?id=86399
1831
1832         Reviewed by Ojan Vafai.
1833
1834         Use runPerSecond instead of run to measure results in function calls per second (run/s) instead of time (ms).
1835         This allows us to continue measuring performance reliably even when WebKit's performance improves and results
1836         become too small for Date.now()'s precision (around 15 ms).
1837
1838         It should also reduce perf. bots cycle time for slower tests because we limit the number of function calls by time.
1839
1840         * CSS/CSSPropertySetterGetter.html:
1841         * CSS/CSSPropertyUpdateValue.html:
1842         * Parser/css-parser-yui.html:
1843         * Parser/simple-url.html:
1844         * Parser/tiny-innerHTML.html:
1845         * Parser/url-parser.html:
1846         * Parser/xml-parser.html:
1847
1848 2012-05-14  Dan Bernstein  <mitz@apple.com>
1849
1850         Add a line layout performance test
1851         https://bugs.webkit.org/show_bug.cgi?id=86216
1852
1853         Reviewed by Ryosuke Niwa.
1854
1855         * Layout/line-layout.html: Added.
1856
1857 2012-05-14  Tony Chang  <tony@chromium.org>
1858
1859         Don't append log lines while perf tests are running.
1860         https://bugs.webkit.org/show_bug.cgi?id=86028
1861
1862         Reviewed by Ryosuke Niwa.
1863
1864         In some tests, the extra DOM nodes can cause the test timing to change.
1865         Avoid adding DOM nodes until the test is over. When running in a browser,
1866         we append nodes as we run so the user can have some feedback.
1867
1868         * resources/runner.js:
1869         (PerfTestRunner.log): Store the log lines in an array until the test is finished.
1870
1871 2012-05-14  Ryosuke Niwa  <rniwa@webkit.org>
1872
1873         Build fix. Don't adjust calls per iteration in the second run.
1874
1875         * resources/runner.js:
1876         (PerfTestRunner._perSecondRunner):
1877
1878 2012-05-13  Ryosuke Niwa  <rniwa@webkit.org>
1879
1880         performance tests should be able to measure runs/sec rather than time
1881         https://bugs.webkit.org/show_bug.cgi?id=86021
1882
1883         Reviewed by Ojan Vafai.
1884
1885         Add PerfTestRunner.runPerSecond. It uses _runLoop but replaces _runner by _perSecondRunner
1886         to compute runs/s of runFunction.
1887
1888         When _perSecondRunner is called for the first time, i.e. _completedRuns is 0 (notice this is -1
1889         in regular run/_runner), it slowly increases the number of function calls to runFunction between
1890         time measurements in order to discount the time used by new Date() calls themselves until the
1891         total time spent reaches 100 milliseconds.
1892
1893         By default, runPerSecond runs the test for at least 750 milliseconds in each run, and executes
1894         21 runs, yielding the total run time of roughly 18 seconds. This is significantly faster than
1895         most of existing performance tests. Also see http://ejohn.org/blog/accuracy-of-javascript-time/.
1896
1897         Finally, refactored the existing methods of PerfTestRunner to allow "runs/s" unit and share code.
1898
1899         * Layout/flexbox-column-nowrap.html:
1900         * Layout/flexbox-column-wrap.html:
1901         * Layout/flexbox-row-nowrap.html:
1902         * Layout/flexbox-row-wrap.html:
1903         * resources/runner.js:
1904         (PerfTestRunner.computeStatistics): Takes unit.
1905         (PerfTestRunner.logStatistics): Ditto.
1906         (PerfTestRunner._runLoop):
1907         (PerfTestRunner._runner):
1908         (PerfTestRunner.runPerSecond): Added.
1909         (PerfTestRunner._perSecondRunner): Added. Called by _runLoop.
1910         (PerfTestRunner._perSecondRunnerIterator): Added.
1911
1912 2012-05-09  Tony Chang  <tony@chromium.org>
1913
1914         add some basic perf-o-matic tests for flexbox
1915         https://bugs.webkit.org/show_bug.cgi?id=86017
1916
1917         Reviewed by Ryosuke Niwa.
1918
1919         Each of these tests take < 3s on my machine.
1920
1921         * Layout/flexbox-column-nowrap.html: Added.
1922         * Layout/flexbox-column-wrap.html: Added.
1923         * Layout/flexbox-row-nowrap.html: Added.
1924         * Layout/flexbox-row-wrap.html: Added.
1925
1926 2012-05-05  Ilya Tikhonovsky  <loislo@chromium.org>
1927
1928         Web Inspector: unreviewed followup fix for the performance test after r116218.
1929
1930         * inspector/heap-snapshot.html:
1931
1932 2012-05-02  Tom Zakrajsek  <tomz@codeaurora.org>
1933
1934         Need tests for PerfTestRunner.computeStatistics
1935         https://bugs.webkit.org/show_bug.cgi?id=85410
1936
1937         Reviewed by Ryosuke Niwa.
1938
1939         * resources/runner.js:
1940
1941 2012-05-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1942
1943         Unreviewed, rolling out r115905.
1944         http://trac.webkit.org/changeset/115905
1945         https://bugs.webkit.org/show_bug.cgi?id=85435
1946
1947         New computeStatistics test is failing on chromium ports
1948         (Requested by tomz on #webkit).
1949
1950         * resources/runner.js:
1951
1952 2012-05-02  Tom Zakrajsek  <tomz@codeaurora.org>
1953
1954         Need tests for PerfTestRunner.computeStatistics
1955         https://bugs.webkit.org/show_bug.cgi?id=85410
1956
1957         Reviewed by Ryosuke Niwa.
1958
1959         * resources/runner.js:
1960
1961 2012-04-29  Tom Zakrajsek  <tomz@codeaurora.org>
1962
1963         PerfTestRunner.computeStatistics incorrectly calculates min, max and median
1964         https://bugs.webkit.org/show_bug.cgi?id=85111
1965
1966         Reviewed by Ryosuke Niwa.
1967
1968         The sort of the data input was being done alphabetically.
1969         So I provided a numeric compare function.
1970
1971         * resources/runner.js:
1972
1973 2012-04-17  Ilya Tikhonovsky  <loislo@chromium.org>
1974
1975         Web Inspector: the fix for test after massive rename in r114271.
1976         https://bugs.webkit.org/show_bug.cgi?id=84147
1977
1978         Drive by fix. The test was renamed to heap-snapshot.html
1979
1980         Reviewed by Yury Semikhatsky.
1981
1982         * inspector/heap-snapshot.html: Renamed from PerformanceTests/inspector/detailed-heapshots-smoke-test.html.
1983
1984 2012-04-16  Yury Semikhatsky  <yurys@chromium.org>
1985
1986         Web Inspector: rename heap profiler files and classes DetailedHeapshot* ->HeapSnapshot*
1987         https://bugs.webkit.org/show_bug.cgi?id=84038
1988
1989         A bunch of renames "detailed heapshot" -> "heap snapshot".
1990
1991         Reviewed by Pavel Feldman.
1992
1993         * inspector/detailed-heapshots-smoke-test.html:
1994
1995 2012-04-13  Ryosuke Niwa  <rniwa@webkit.org>
1996
1997         Fix skipped list.
1998
1999         * Skipped:
2000
2001 2012-04-12  Ryosuke Niwa  <rniwa@webkit.org>
2002
2003         Enable SVG page loading performance tests
2004         https://bugs.webkit.org/show_bug.cgi?id=83861
2005
2006         Reviewed by Adam Barth.
2007
2008         Unskip PageLoad directory and skip tests that load too fast (less than 100ms) and are unstable,
2009         and the ones that take too long to load (more than 20s).
2010
2011         * Skipped:
2012
2013 2012-04-04  Ilya Tikhonovsky  <loislo@chromium.org>
2014
2015         Web Inspector: Unreviewed. temporary disable broken inspector tests.
2016
2017         * inspector/first-open-scripts.html.broken: Renamed from PerformanceTests/inspector/first-open-scripts.html.
2018         * inspector/network-append-30-requests.html.broken: Renamed from PerformanceTests/inspector/network-append-30-requests.html.
2019         * inspector/show-panel.html.broken: Renamed from PerformanceTests/inspector/show-panel.html.
2020
2021 2012-04-04  Ilya Tikhonovsky  <loislo@chromium.org>
2022
2023         Web Inspector: linearise aggregate's retaining size calculation.
2024         https://bugs.webkit.org/show_bug.cgi?id=83125
2025
2026         This version is twice as fast as the original and it is non-recursive.
2027
2028         Reviewed by Yury Semikhatsky.
2029
2030         * inspector/detailed-heapshots-smoke-test.html:
2031
2032 2012-03-30  David Barr  <davidbarr@chromium.org>
2033
2034         Split up top-level .gitignore and .gitattributes
2035         https://bugs.webkit.org/show_bug.cgi?id=82687
2036
2037         Reviewed by Tor Arne Vestbø.
2038
2039         * .gitattributes: Added.
2040
2041 2012-03-28  Yury Semikhatsky  <yurys@chromium.org>
2042
2043         Web Inspector: switch heap profiler front-end to separate storage of nodes and edges
2044         https://bugs.webkit.org/show_bug.cgi?id=82453
2045
2046         Updated heap profiler performance test after heap profiler front-end
2047         changes.
2048
2049         Reviewed by Pavel Feldman.
2050
2051         * inspector/detailed-heapshots-smoke-test.html:
2052
2053 2012-03-27  Alexis Menard  <alexis.menard@openbossa.org>
2054
2055         Add a perf test which updates the value of an already declared CSS property.
2056         https://bugs.webkit.org/show_bug.cgi?id=82321
2057
2058         Reviewed by Andreas Kling.
2059
2060         This benchmark update CSS existing properties of the style from JS.
2061
2062         * CSS/CSSPropertyUpdateValue.html: Added.
2063
2064 2012-03-15  Kentaro Hara  <haraken@chromium.org>
2065
2066         [PerformanceTests] run-perf-tests should output correct units
2067         https://bugs.webkit.org/show_bug.cgi?id=78303
2068
2069         Reviewed by Ryosuke Niwa.
2070
2071         Previously run-perf-tests just supported "ms" for units.
2072         Consequently, Dromaeo perf tests had been reporting runs/s as "ms".
2073         This patch fixes run-perf-tests so that they can support custom units.
2074         The default unit is "ms".
2075
2076         The test result looks like this:
2077
2078         $ ./Tools/Scripts/run-perf-tests Dromaeo/dom-attr.html
2079         RESULT Dromaeo: dom-attr= 6465.9525483 runs/s
2080         median= 0.0 runs/s, stdev= 24.2983433436 runs/s, min= 6435.87649402 runs/s, max= 6515.63693392 runs/s
2081
2082         * Dromaeo/resources/dromaeorunner.js:
2083         (.):
2084         * resources/runner.js:
2085         (PerfTestRunner.computeStatistics):
2086         (PerfTestRunner.printStatistics):
2087
2088 2012-03-15  Alexis Menard  <alexis.menard@openbossa.org>
2089
2090         Fix the test failing with run-perf-tests.
2091
2092         Rubber stamped by Ryosuke Niwa.
2093
2094         * CSS/CSSPropertySetterGetter.html:
2095
2096 2012-03-14  Alexis Menard  <alexis.menard@openbossa.org>
2097
2098         Add a new perf test to benchmark setting and reading CSS properties from JS.
2099         https://bugs.webkit.org/show_bug.cgi?id=81155
2100
2101         Reviewed by Ryosuke Niwa.
2102
2103         This benchmark read and set CSS properties from JS. It contains a list
2104         of common CSS properties.
2105
2106         * CSS/CSSPropertySetterGetter.html: Added.
2107
2108 2012-03-14  Alexandru Chiculita  <achicu@adobe.com>
2109
2110         Layout/floats.html should be runnable by run-perf-tests
2111         https://bugs.webkit.org/show_bug.cgi?id=77051
2112
2113         Reviewed by Ryosuke Niwa.
2114
2115         I've split Layout/floats.html into multiple tests for each button in the original manual test.
2116         Some tests take longer to run and I've changed the number of iterations, so that each tests finishes under 30s per run.
2117
2118         * DOM/resources/dom-perf.js:
2119         * Layout/floats.html: Removed.
2120         * Layout/floats_100_100.html: Added.
2121         * Layout/floats_100_100_nested.html: Added.
2122         * Layout/floats_20_100.html: Added.
2123         * Layout/floats_20_100_nested.html: Added.
2124         * Layout/floats_2_100.html: Added.
2125         * Layout/floats_2_100_nested.html: Added.
2126         * Layout/floats_50_100.html: Added.
2127         * Layout/floats_50_100_nested.html: Added.
2128         * Layout/resources/floats.css: Added.
2129         (.container):
2130         (.float):
2131         (.big):
2132         (.float-end):
2133         * Layout/resources/floats.js: Added.
2134         (.):
2135         * Skipped:
2136         * resources/runner.js:
2137         (PerfTestRunner.resetRandomSeed):
2138         (PerfTestRunner.random):
2139         (Math.random):
2140             Moved the Math.random to runner.js to be used by all tests.
2141             Added resetRandomSeed to bring the randomizer back to initial seed.
2142             It is useful to get the same results at every run and minimize the
2143             differences between runs.
2144
2145 2012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2146
2147         Unreviewed, rolling out r110559.
2148         http://trac.webkit.org/changeset/110559
2149         https://bugs.webkit.org/show_bug.cgi?id=81142
2150
2151         Broke Dromaeo tests (Requested by rniwa on #webkit).
2152
2153         * Dromaeo/resources/dromaeorunner.js:
2154         (.):
2155
2156 2012-03-13  Kentaro Hara  <haraken@chromium.org>
2157
2158         Dromaeo perf-tests results are wrong
2159         https://bugs.webkit.org/show_bug.cgi?id=80974
2160
2161         Reviewed by Hajime Morita.
2162
2163         Dromaeo perf-tests had reported the sum of runs/seconds as "ms".
2164         This patch fixes them to report the execution time per run.
2165
2166         At present, they report "0.0ms" for "stdev". This is because
2167         dromaeorunner.js can just know stdev of "runs/seconds"
2168         and cannot calculate stdev of "ms" from that. We can fix it later.
2169
2170         * Dromaeo/resources/dromaeorunner.js:
2171         (.):
2172
2173 2012-03-12  Ilya Tikhonovsky  <loislo@chromium.org>
2174
2175         Web Inspector: chromium: increase heap snapshot performance coverage.
2176         https://bugs.webkit.org/show_bug.cgi?id=80829
2177
2178         Reviewed by Yury Semikhatsky.
2179
2180         * inspector/detailed-heapshots-smoke-test.html:
2181         * inspector/performance-test.js:
2182         (initialize_TimeTracker.InspectorTest.measureFunction):
2183
2184 2012-03-06  Kentaro Hara  <haraken@chromium.org>
2185
2186         [Perf tests] Reduce the number of loops in dom-attributes.html
2187         https://bugs.webkit.org/show_bug.cgi?id=80077
2188
2189         Reviewed by Ryosuke Niwa.
2190
2191         dom-attributes.html takes 100~ seconds in the perf bots. This patch reduces
2192         the time by reducing the number of loops.
2193
2194         This is just a temporary fix. After more detailed investigation, I will reduce
2195         the number of tests in dom-attributes.html, and revert back the number of loops
2196         to guarantee the reliability of the perf test results.
2197
2198         * Bindings/dom-attributes.html:
2199
2200 2012-03-06  Ilya Tikhonovsky  <loislo@chromium.org>
2201
2202         Web Inspector: Heap Snapshot test: split overal time metric into separate metrics.
2203         https://bugs.webkit.org/show_bug.cgi?id=80409
2204
2205         Reviewed by Yury Semikhatsky.
2206
2207         * inspector/detailed-heapshots-smoke-test.html:
2208
2209 2012-03-05  Ilya Tikhonovsky  <loislo@chromium.org>
2210
2211         Web Inspector: [chromium] introduce HeapSnapshot performance test.
2212         https://bugs.webkit.org/show_bug.cgi?id=80280
2213
2214         Reviewed by Pavel Feldman.
2215
2216         * inspector/detailed-heapshots-smoke-test.html: Added.
2217
2218 2012-03-01  Ryosuke Niwa  <rniwa@webkit.org>
2219
2220         DOM tests take too long to run
2221         https://bugs.webkit.org/show_bug.cgi?id=80082
2222
2223         Reviewed by Eric Seidel.
2224
2225         Reduce benchmark.timeToRun from 500ms to 100ms. Doesn't seem to affect test results much
2226         (except DOM/DOMTable.html) but significantly reduces the runtime of tests.
2227
2228         * DOM/resources/dom-perf.js:
2229         (BenchmarkSuite.prototype.RunSingle):
2230
2231 2012-02-26  Kentaro Hara  <haraken@chromium.org>
2232
2233         [Performance Tests] [Chromium] Bindings/dom-attributes.html is timing out
2234         https://bugs.webkit.org/show_bug.cgi?id=79593
2235
2236         Reviewed by Adam Barth.
2237
2238         This patch halves the execution time of Bindings/dom-attributes.html
2239         in order to avoid timeout in Chromium. The reason for the timeout is that
2240         V8 DOM bindings are too much slower than JSC bindings.
2241         I am a bit afraid that this patch will reduce the accuracy of the
2242         perf test results, but it would make sense to reduce the execution time
2243         until we fix the performance issue in V8 DOM bindings.
2244
2245         * Bindings/dom-attributes.html:
2246
2247 2012-02-24  Ryosuke Niwa  <rniwa@webkit.org>
2248
2249         Rename dom*_*attributes.html to dom*-*attributes.html to follow the WebKit convention.
2250
2251         * Bindings/dom-attributes.html: Copied from PerformanceTests/Bindings/dom_attributes.html.
2252         * Bindings/dom_attributes.html: Removed.
2253
2254 2012-02-24  Kentaro Hara  <haraken@chromium.org>
2255
2256         Unreviewed, rolling out r108477.
2257         http://trac.webkit.org/changeset/108477
2258         https://bugs.webkit.org/show_bug.cgi?id=79209
2259
2260         The perf tests committed in r108748 covers the perf tests
2261         committed in r108477. So I'll roll out r108477.
2262
2263         * Bindings/dom_attributes_id_getter.html: Removed.
2264         * Bindings/dom_attributes_id_setter.html: Removed.
2265         * Bindings/resources/dom_attributes_common.js: Removed.
2266
2267 2012-02-24  Kentaro Hara  <haraken@chromium.org>
2268
2269         Add performance tests for DOM attribute getters and setters
2270         https://bugs.webkit.org/show_bug.cgi?id=79208
2271
2272         Reviewed by Ryosuke Niwa.
2273
2274         This patch adds performance micro-benchmarks for DOM attribute
2275         getters and setters. We selected DOM attributes from HTMLElement,
2276         Element and Node which will most impact on the DOM performance
2277         in the real Web and which have different call-paths from another
2278         DOM attribute.
2279
2280         The perf test result in my local Chromium/Linux environment is as follows:
2281         median= 14967.0 ms, stdev= 85.2385476178 ms, min= 14861.0 ms, max= 15155.0 ms
2282
2283         If we run the test with DumpRenderTree, we can get the following test results:
2284         Info: [HTMLElement.id] avg=65.76ms, median=65.00ms, stdev=2.14ms, min=63, max=70
2285         Info: [HTMLElement.title] avg=64.05ms, median=63.00ms, stdev=1.50ms, min=63, max=67
2286         Info: [HTMLElement.lang] avg=64.19ms, median=63.00ms, stdev=1.82ms, min=62, max=67
2287         Info: [HTMLElement.dir] avg=64.10ms, median=63.00ms, stdev=1.72ms, min=62, max=68
2288         Info: [HTMLElement.className] avg=63.33ms, median=63.00ms, stdev=0.89ms, min=63, max=67
2289         Info: [HTMLElement.classList] avg=1946.00ms, median=1945.00ms, stdev=38.22ms, min=1921, max=2110
2290         Info: [HTMLElement.tabIndex] avg=83.52ms, median=80.00ms, stdev=6.00ms, min=79, max=94
2291         Info: [HTMLElement.draggable] avg=78.14ms, median=81.00ms, stdev=3.51ms, min=74, max=82
2292         Info: [HTMLElement.webkitdropzone] avg=64.33ms, median=63.00ms, stdev=1.98ms, min=63, max=68
2293         Info: [HTMLElement.hidden] avg=65.57ms, median=64.00ms, stdev=3.27ms, min=63, max=71
2294         Info: [HTMLElement.accessKey] avg=64.43ms, median=63.00ms, stdev=2.11ms, min=62, max=68
2295         Info: [HTMLElement.children] avg=130.76ms, median=128.00ms, stdev=9.75ms, min=109, max=143
2296         Info: [HTMLElement.isContentEditable] avg=74.29ms, median=75.00ms, stdev=2.00ms, min=71, max=77
2297         Info: [HTMLElement.spellcheck] avg=79.52ms, median=80.00ms, stdev=2.52ms, min=76, max=82
2298         Info: [HTMLElement.innerHTML] avg=279.05ms, median=279.00ms, stdev=1.96ms, min=276, max=283
2299         Info: [HTMLElement.innerText] avg=204.14ms, median=203.00ms, stdev=2.95ms, min=200, max=210
2300         Info: [HTMLElement.outerHTML] avg=1544.10ms, median=1546.00ms, stdev=15.56ms, min=1514, max=1568
2301         Info: [HTMLElement.outerText] avg=216.05ms, median=207.00ms, stdev=18.19ms, min=201, max=247
2302         Info: [HTMLElement.contentEditable] avg=334.24ms, median=323.00ms, stdev=36.06ms, min=318, max=446
2303         Info: [HTMLElement.id="foo"] avg=53.19ms, median=53.00ms, stdev=1.76ms, min=52, max=58
2304         Info: [HTMLElement.title="foo"] avg=63.14ms, median=63.00ms, stdev=0.35ms, min=63, max=64
2305         Info: [HTMLElement.lang="foo"] avg=60.86ms, median=61.00ms, stdev=0.56ms, min=60, max=62
2306         Info: [HTMLElement.dir="foo"] avg=53.57ms, median=54.00ms, stdev=0.58ms, min=53, max=55
2307         Info: [HTMLElement.className="foo"] avg=64.52ms, median=64.00ms, stdev=0.91ms, min=63, max=66
2308         Info: [HTMLElement.tabIndex="foo"] avg=367.86ms, median=369.00ms, stdev=8.06ms, min=352, max=380
2309         Info: [HTMLElement.draggable="foo"] avg=79.43ms, median=79.00ms, stdev=0.58ms, min=79, max=81
2310         Info: [HTMLElement.webkitdropzone="foo"] avg=62.14ms, median=62.00ms, stdev=0.35ms, min=62, max=63
2311         Info: [HTMLElement.hidden="foo"] avg=61.67ms, median=62.00ms, stdev=0.71ms, min=61, max=64
2312         Info: [HTMLElement.accessKey="foo"] avg=61.86ms, median=62.00ms, stdev=0.56ms, min=61, max=63
2313         Info: [HTMLElement.spellcheck="foo"] avg=79.57ms, median=80.00ms, stdev=0.58ms, min=78, max=80
2314         Info: [HTMLElement.innerHTML="foo"] avg=1176.67ms, median=1169.00ms, stdev=26.60ms, min=1146, max=1246
2315         Info: [HTMLElement.innerText="foo"] avg=51.62ms, median=52.00ms, stdev=0.72ms, min=50, max=53
2316         Info: [Element.tagName] avg=79.52ms, median=80.00ms, stdev=1.05ms, min=78, max=81
2317         Info: [Element.style] avg=126.19ms, median=126.00ms, stdev=10.40ms, min=104, max=161
2318         Info: [Element.offsetLeft] avg=98.95ms, median=104.00ms, stdev=4.01ms, min=100, max=99
2319         Info: [Element.clientLeft] avg=98.33ms, median=102.00ms, stdev=2.59ms, min=100, max=99
2320         Info: [Element.scrollLeft] avg=103.29ms, median=96.00ms, stdev=15.63ms, min=100, max=97
2321         Info: [Element.dataset] avg=2448.62ms, median=2441.00ms, stdev=20.43ms, min=2426, max=2503
2322         Info: [Element.firstElementChild] avg=58.71ms, median=58.00ms, stdev=2.37ms, min=57, max=65
2323         Info: [Element.lastElementChild] avg=56.33ms, median=55.00ms, stdev=1.83ms, min=54, max=59
2324         Info: [Element.previousElementSibling] avg=52.95ms, median=52.00ms, stdev=1.70ms, min=52, max=57
2325         Info: [Element.nextElementSibling] avg=58.48ms, median=58.00ms, stdev=1.79ms, min=57, max=63
2326         Info: [Element.childElementCount] avg=64.57ms, median=64.00ms, stdev=1.81ms, min=63, max=71
2327         Info: [Element.onload] avg=98.38ms, median=98.00ms, stdev=0.49ms, min=98, max=99
2328         Info: [Element.scrollLeft="foo"] avg=95.24ms, median=95.00ms, stdev=0.92ms, min=94, max=98
2329         Info: [Element.onload="foo"] avg=67.14ms, median=67.00ms, stdev=0.56ms, min=66, max=68
2330         Info: [Node.nodeName] avg=76.29ms, median=76.00ms, stdev=0.63ms, min=75, max=77
2331         Info: [Node.nodeType] avg=53.05ms, median=52.00ms, stdev=2.61ms, min=52, max=61
2332         Info: [Node.parentNode] avg=53.52ms, median=53.00ms, stdev=1.22ms, min=52, max=56
2333         Info: [Node.childNodes] avg=118.33ms, median=123.00ms, stdev=8.85ms, min=107, max=129
2334         Info: [Node.firstChild] avg=53.62ms, median=53.00ms, stdev=1.13ms, min=51, max=55
2335         Info: [Node.lastChild] avg=53.14ms, median=53.00ms, stdev=1.21ms, min=52, max=55
2336         Info: [Node.previousSibling] avg=51.86ms, median=51.00ms, stdev=1.55ms, min=50, max=54
2337         Info: [Node.nextSibling] avg=52.86ms, median=54.00ms, stdev=1.81ms, min=50, max=55
2338         Info: [Node.attributes] avg=2027.71ms, median=2026.00ms, stdev=10.48ms, min=2010, max=2051
2339         Info: [Node.ownerDocument] avg=152.14ms, median=152.00ms, stdev=1.73ms, min=149, max=155
2340         Info: [Node.namespaceURI] avg=60.86ms, median=59.00ms, stdev=3.85ms, min=56, max=66
2341         Info: [Node.localName] avg=60.00ms, median=59.00ms, stdev=2.71ms, min=57, max=66
2342         Info: [Node.baseURI] avg=671.10ms, median=668.00ms, stdev=10.66ms, min=659, max=706
2343         Info: [Node.parentElement] avg=55.05ms, median=56.00ms, stdev=2.15ms, min=52, max=58
2344         Info: [Node.nodeValue] avg=61.24ms, median=60.00ms, stdev=2.56ms, min=59, max=68
2345         Info: [Node.prefix] avg=60.90ms, median=58.00ms, stdev=4.26ms, min=57, max=68
2346         Info: [Node.textContent] avg=149.71ms, median=149.00ms, stdev=1.12ms, min=148, max=152
2347         Info: [Node.nodeValue="foo"] avg=23.62ms, median=23.00ms, stdev=0.72ms, min=23, max=25
2348         Info: [Node.prefix="foo"] avg=49.57ms, median=49.00ms, stdev=0.73ms, min=49, max=51
2349         Info: [Node.textContent="foo"] avg=145.81ms, median=140.00ms, stdev=17.43ms, min=138, max=199
2350
2351         * Bindings/dom_attributes.html: Added.
2352         * resources/runner.js:
2353         (PerfTestRunner.info):
2354
2355 2012-02-22  Kentaro Hara  <haraken@chromium.org>
2356
2357         Add performance tests for the Element.id getter and setter
2358         https://bugs.webkit.org/show_bug.cgi?id=79209
2359
2360         Reviewed by Adam Barth.
2361
2362         This patch adds performance tests for the Element.id getter and setter.
2363
2364         The results of 10 runs in my local Chromium/Linux are as follows:
2365
2366         dom_attributes_id_getter.html:
2367         median= 92.0 ms, stdev= 1.65151445649 ms, min= 89.0 ms, max= 96.0 ms
2368         median= 87.5 ms, stdev= 1.84390889146 ms, min= 85.0 ms, max= 92.0 ms
2369         median= 94.0 ms, stdev= 1.46543508898 ms, min= 90.0 ms, max= 95.0 ms
2370         median= 86.0 ms, stdev= 1.66958078571 ms, min= 84.0 ms, max= 91.0 ms
2371         median= 94.0 ms, stdev= 2.25610283454 ms, min= 103.0 ms, max= 98.0 ms
2372         median= 86.0 ms, stdev= 1.49666295471 ms, min= 84.0 ms, max= 91.0 ms
2373         median= 86.0 ms, stdev= 1.5321553446 ms, min= 84.0 ms, max= 90.0 ms
2374         median= 86.0 ms, stdev= 2.20227155455 ms, min= 84.0 ms, max= 94.0 ms
2375         median= 96.0 ms, stdev= 1.74570902501 ms, min= 101.0 ms, max= 99.0 ms
2376         median= 86.0 ms, stdev= 1.63935963108 ms, min= 84.0 ms, max= 90.0 ms
2377         median= 94.0 ms, stdev= 1.49248115566 ms, min= 90.0 ms, max= 95.0 ms
2378         median= 88.0 ms, stdev= 5.20192272146 ms, min= 84.0 ms, max= 98.0 ms
2379         median= 86.0 ms, stdev= 1.41067359797 ms, min= 84.0 ms, max= 89.0 ms
2380         median= 86.0 ms, stdev= 1.48660687473 ms, min= 84.0 ms, max= 89.0 ms
2381         median= 94.0 ms, stdev= 1.58113883008 ms, min= 93.0 ms, max= 97.0 ms
2382         median= 86.0 ms, stdev= 1.95959179423 ms, min= 84.0 ms, max= 93.0 ms
2383         median= 86.0 ms, stdev= 1.8547236991 ms, min= 84.0 ms, max= 92.0 ms
2384         median= 86.0 ms, stdev= 1.39283882772 ms, min= 84.0 ms, max= 89.0 ms
2385         median= 88.0 ms, stdev= 1.48660687473 ms, min= 85.0 ms, max= 90.0 ms
2386         median= 86.5 ms, stdev= 2.3 ms, min= 84.0 ms, max= 93.0 ms
2387
2388         dom_attributes_id_setter.html:
2389         median= 123.0 ms, stdev= 2.06397674406 ms, min= 119.0 ms, max= 128.0 ms
2390         median= 119.0 ms, stdev= 1.92028643697 ms, min= 117.0 ms, max= 123.0 ms
2391         median= 121.0 ms, stdev= 1.8781639971 ms, min= 118.0 ms, max= 123.0 ms
2392         median= 123.0 ms, stdev= 2.21585198062 ms, min= 119.0 ms, max= 130.0 ms
2393         median= 124.5 ms, stdev= 2.36378933071 ms, min= 119.0 ms, max= 129.0 ms
2394         median= 122.0 ms, stdev= 2.4474476501 ms, min= 118.0 ms, max= 128.0 ms
2395         median= 123.0 ms, stdev= 1.76351920885 ms, min= 118.0 ms, max= 125.0 ms
2396         median= 119.0 ms, stdev= 1.79652442232 ms, min= 117.0 ms, max= 125.0 ms
2397         median= 121.0 ms, stdev= 1.49916643506 ms, min= 119.0 ms, max= 123.0 ms
2398         median= 119.5 ms, stdev= 1.85135085816 ms, min= 117.0 ms, max= 125.0 ms
2399         median= 124.0 ms, stdev= 1.43090880213 ms, min= 120.0 ms, max= 124.0 ms
2400         median= 122.0 ms, stdev= 1.45859521458 ms, min= 118.0 ms, max= 123.0 ms
2401         median= 123.0 ms, stdev= 1.50332963784 ms, min= 120.0 ms, max= 124.0 ms
2402         median= 123.0 ms, stdev= 1.3638181697 ms, min= 120.0 ms, max= 125.0 ms
2403         median= 119.0 ms, stdev= 1.43527000944 ms, min= 117.0 ms, max= 121.0 ms
2404         median= 122.5 ms, stdev= 1.71682847134 ms, min= 118.0 ms, max= 124.0 ms
2405         median= 121.0 ms, stdev= 1.44481832768 ms, min= 118.0 ms, max= 123.0 ms
2406         median= 120.0 ms, stdev= 1.40978721799 ms, min= 117.0 ms, max= 122.0 ms
2407         median= 122.0 ms, stdev= 1.68522995464 ms, min= 119.0 ms, max= 125.0 ms
2408         median= 122.0 ms, stdev= 1.55804364509 ms, min= 118.0 ms, max= 123.0 ms
2409
2410
2411         * Bindings/dom_attributes_id_getter.html: Added.
2412         * Bindings/dom_attributes_id_setter.html: Added.
2413         * Bindings/resources/dom_attributes_common.js: Added.
2414
2415 2012-02-16  Alexis Menard  <alexis.menard@openbossa.org>
2416
2417         Add a perf test for the CSS parser.
2418         https://bugs.webkit.org/show_bug.cgi?id=78114
2419
2420         Reviewed by Ryosuke Niwa.
2421
2422         Add a perf test for the CSS parser. It load a big CSS chunk
2423         which contains some snippets of the YUI library from Yahoo!.
2424
2425         * Parser/css-parser-yui.html: Added.
2426
2427 2012-02-08  Hajime Morrita  <morrita@chromium.org>
2428
2429         [PerformanceTests] sunspider-crypto-md5.html and sunspider-crypto-sha1.html are timing out on cr-mac perf bot
2430         https://bugs.webkit.org/show_bug.cgi?id=78174
2431
2432         Reviewed by Ryosuke Niwa.
2433
2434         Pulled back removed files.
2435
2436         * Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-md5.html: Added.
2437         * Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-sha1.html: Added.
2438
2439 2012-02-02  Hajime Morrita  <morrita@chromium.org>
2440
2441         [PerformanceTests] Each Dromaeo test needs its landing html.
2442         https://bugs.webkit.org/show_bug.cgi?id=77504
2443
2444         Reviewed by Ryosuke Niwa.
2445
2446         - Added landing pages for each test which are listed in MANIFEST.json
2447         - Removed some tests which depends on the library whose license is incompatible to WebKit.
2448         - Added local copy of corresponding library. And replace the references to the remote sources
2449           to the local copies.
2450         - Removed old library files under Dromaeo/resources/dromaeo/web/lib/.
2451         - Skipped Sunsupier and v8 test. Such JS centric test should have its own test instead of
2452           running as a part of Dromaeo.
2453
2454         * Dromaeo/cssquery-dojo.html: Added.
2455         * Dromaeo/cssquery-jquery.html: Added.
2456         * Dromaeo/cssquery-prototype.html: Added.
2457         * Dromaeo/dom-attr.html: Added.
2458         * Dromaeo/dom-modify.html: Added.
2459         * Dromaeo/dom-traverse.html: Added.
2460         * Dromaeo/dromaeo-3d-cube.html: Added.
2461         * Dromaeo/dromaeo-core-eval.html: Added.
2462         * Dromaeo/dromaeo-object-array.html: Added.
2463         * Dromaeo/dromaeo-object-regexp.html: Added.
2464         * Dromaeo/dromaeo-object-string.html: Added.
2465         * Dromaeo/dromaeo-string-base64.html: Added.
2466         * Dromaeo/jslib-attr-jquery.html: Added.
2467         * Dromaeo/jslib-attr-prototype.html: Added.
2468         * Dromaeo/jslib-event-jquery.html: Added.
2469         * Dromaeo/jslib-event-prototype.html: Added.
2470         * Dromaeo/jslib-modify-jquery.html: Added.
2471         * Dromaeo/jslib-modify-prototype.html: Added.
2472         * Dromaeo/jslib-style-jquery.html: Added.
2473         * Dromaeo/jslib-style-prototype.html: Added.
2474         * Dromaeo/jslib-traverse-jquery.html: Added.
2475         * Dromaeo/jslib-traverse-prototype.html: Added.
2476         * Dromaeo/resources/dromaeo/web/lib/dojo.js: Removed.
2477         * Dromaeo/resources/dromaeo/web/lib/dojo-1.6.1.js: Added.
2478         * Dromaeo/resources/dromaeo/web/lib/jquery.js: Removed.
2479         * Dromaeo/resources/dromaeo/web/lib/jquery-1.6.4.js: Added.
2480         * Dromaeo/resources/dromaeo/web/lib/mootools.js: Removed.
2481         * Dromaeo/resources/dromaeo/web/lib/prototype.js: Removed.
2482         * Dromaeo/resources/dromaeo/web/lib/prototype-1.7.js: Added.
2483         * Dromaeo/resources/dromaeo/web/tests/cssquery-dojo.html:
2484         * Dromaeo/resources/dromaeo/web/tests/cssquery-jquery.html:
2485         * Dromaeo/resources/dromaeo/web/tests/cssquery-mootools.html: Removed.
2486         * Dromaeo/resources/dromaeo/web/tests/cssquery-prototype.html:
2487         * Dromaeo/resources/dromaeo/web/tests/jslib-attr-jquery.html:
2488         * Dromaeo/resources/dromaeo/web/tests/jslib-attr-prototype.html:
2489         * Dromaeo/resources/dromaeo/web/tests/jslib-event-jquery.html:
2490         * Dromaeo/resources/dromaeo/web/tests/jslib-event-prototype.html:
2491         * Dromaeo/resources/dromaeo/web/tests/jslib-modify-jquery.html:
2492         * Dromaeo/resources/dromaeo/web/tests/jslib-modify-prototype.html:
2493         * Dromaeo/resources/dromaeo/web/tests/jslib-style-jquery.html:
2494         * Dromaeo/resources/dromaeo/web/tests/jslib-style-prototype.html:
2495         * Dromaeo/resources/dromaeo/web/tests/jslib-traverse-jquery.html:
2496         * Dromaeo/resources/dromaeo/web/tests/jslib-traverse-prototype.html:
2497         * Dromaeo/sunspider-3d-morph.html: Added.
2498         * Dromaeo/sunspider-3d-raytrace.html: Added.
2499         * Dromaeo/sunspider-access-binary-trees.html: Added.
2500         * Dromaeo/sunspider-access-fannkuch.html: Added.
2501         * Dromaeo/sunspider-access-nbody.html: Added.
2502         * Dromaeo/sunspider-access-nsieve.html: Added.
2503         * Dromaeo/sunspider-bitops-3bit-bits-in-byte.html: Added.
2504         * Dromaeo/sunspider-bitops-bits-in-byte.html: Added.
2505         * Dromaeo/sunspider-bitops-bitwise-and.html: Added.
2506         * Dromaeo/sunspider-bitops-nsieve-bits.html: Added.
2507         * Dromaeo/sunspider-controlflow-recursive.html: Added.
2508         * Dromaeo/sunspider-crypto-aes.html: Added.
2509         * Dromaeo/sunspider-crypto-md5.html: Added.
2510         * Dromaeo/sunspider-crypto-sha1.html: Added.
2511         * Dromaeo/sunspider-date-format-tofte.html: Added.
2512         * Dromaeo/sunspider-date-format-xparb.html: Added.
2513         * Dromaeo/sunspider-math-cordic.html: Added.
2514         * Dromaeo/sunspider-math-partial-sums.html: Added.
2515         * Dromaeo/sunspider-math-spectral-norm.html: Added.
2516         * Dromaeo/sunspider-regexp-dna.html: Added.
2517         * Dromaeo/sunspider-string-fasta.html: Added.
2518         * Dromaeo/sunspider-string-tagcloud.html: Added.
2519         * Dromaeo/sunspider-string-unpack-code.html: Added.
2520         * Dromaeo/sunspider-string-validate-input.html: Added.
2521         * Dromaeo/v8-crypto.html: Added.
2522         * Dromaeo/v8-deltablue.html: Added.
2523         * Dromaeo/v8-earley-boyer.html: Added.
2524         * Dromaeo/v8-raytrace.html: Added.
2525         * Dromaeo/v8-richards.html: Added.
2526         * Skipped:
2527
2528 2012-02-02  Sheriff Bot  <webkit.review.bot@gmail.com>
2529
2530         Unreviewed, rolling out r106543.
2531         http://trac.webkit.org/changeset/106543
2532         https://bugs.webkit.org/show_bug.cgi?id=77671
2533
2534         Made tests less stable (Requested by rniwa on #webkit).
2535
2536         * resources/init.html: Removed.
2537
2538 2012-02-02  Ryosuke Niwa  <rniwa@webkit.org>
2539
2540         [PerformanceTests] tests have dependencies
2541         https://bugs.webkit.org/show_bug.cgi?id=77506
2542
2543         Reviewed by Hajime Morita.
2544
2545         * resources/init.html: Added.
2546
2547 2012-02-01  Ryosuke Niwa  <rniwa@webkit.org>
2548
2549         Fix after r106386. The empty anchor element was generating an erroneous whitespace.
2550
2551         * Bindings/event-target-wrapper.html:
2552
2553 2012-02-01  Ryosuke Niwa  <rniwa@webkit.org>
2554
2555         Another fix after r106379.
2556
2557         * Parser/html5-full-render.html:
2558
2559 2012-01-31  Hajime Morrita  <morrita@chromium.org>
2560
2561         Import Dromaeo to WebKit repository.
2562         https://bugs.webkit.org/show_bug.cgi?id=77328
2563
2564         Reviewed by Ryosuke Niwa.
2565
2566         Imported a modified version of Dromaeo which is able to
2567         run on the DRT.
2568
2569         The imported version originally came from:
2570         https://github.com/omo/dromaeo/commit/c942a1452109cdd5f759b3c4aee8d68d490d44a2
2571
2572         * Dromaeo/resources/dromaeo/web/application.css: Added.
2573         * Dromaeo/resources/dromaeo/web/favicon.ico: Added.
2574         * Dromaeo/resources/dromaeo/web/favicon.png: Added.
2575         * Dromaeo/resources/dromaeo/web/htmlrunner.js: Added.
2576         * Dromaeo/resources/dromaeo/web/ie.css: Added.
2577         * Dromaeo/resources/dromaeo/web/images/bg.png: Added.
2578         * Dromaeo/resources/dromaeo/web/images/clouds.png: Added.
2579         * Dromaeo/resources/dromaeo/web/images/clouds2.png: Added.
2580         * Dromaeo/resources/dromaeo/web/images/comets.png: Added.
2581         * Dromaeo/resources/dromaeo/web/images/dino1.png: Added.
2582         * Dromaeo/resources/dromaeo/web/images/dino2.png: Added.
2583         * Dromaeo/resources/dromaeo/web/images/dino3.png: Added.
2584         * Dromaeo/resources/dromaeo/web/images/dino4.png: Added.
2585         * Dromaeo/resources/dromaeo/web/images/dino5.png: Added.
2586         * Dromaeo/resources/dromaeo/web/images/dino6.png: Added.
2587         * Dromaeo/resources/dromaeo/web/images/dino7.png: Added.
2588         * Dromaeo/resources/dromaeo/web/images/dino8.png: Added.
2589         * Dromaeo/resources/dromaeo/web/images/left.png: Added.
2590         * Dromaeo/resources/dromaeo/web/images/logo.png: Added.
2591         * Dromaeo/resources/dromaeo/web/images/logo2.png: Added.
2592         * Dromaeo/resources/dromaeo/web/images/logo3.png: Added.
2593         * Dromaeo/resources/dromaeo/web/images/right.png: Added.
2594         * Dromaeo/resources/dromaeo/web/images/top.png: Added.
2595         * Dromaeo/resources/dromaeo/web/images/water.png: Added.
2596         * Dromaeo/resources/dromaeo/web/index.html: Added.
2597         * Dromaeo/resources/dromaeo/web/jquery.js: Added.
2598         * Dromaeo/resources/dromaeo/web/lib/dojo.js: Added.
2599         * Dromaeo/resources/dromaeo/web/lib/jquery.js: Added.
2600         * Dromaeo/resources/dromaeo/web/lib/mootools.js: Added.
2601         * Dromaeo/resources/dromaeo/web/lib/prototype.js: Added.
2602         * Dromaeo/resources/dromaeo/web/pngfix.js: Added.
2603         * Dromaeo/resources/dromaeo/web/reset.css: Added.
2604         * Dromaeo/resources/dromaeo/web/test-head.html: Added.
2605         * Dromaeo/resources/dromaeo/web/test-head.js: Added.
2606         * Dromaeo/resources/dromaeo/web/test-tail.html: Added.
2607         * Dromaeo/resources/dromaeo/web/test-tail.js: Added.
2608         * Dromaeo/resources/dromaeo/web/tests/MANIFEST.json: Added.
2609         * Dromaeo/resources/dromaeo/web/tests/cssquery-dojo.html: Added.
2610         * Dromaeo/resources/dromaeo/web/tests/cssquery-jquery.html: Added.
2611         * Dromaeo/resources/dromaeo/web/tests/cssquery-mootools.html: Added.
2612         * Dromaeo/resources/dromaeo/web/tests/cssquery-prototype.html: Added.
2613         * Dromaeo/resources/dromaeo/web/tests/cssquery-yui.html: Added.
2614         * Dromaeo/resources/dromaeo/web/tests/dom-attr.html: Added.
2615         * Dromaeo/resources/dromaeo/web/tests/dom-modify.html: Added.
2616         * Dromaeo/resources/dromaeo/web/tests/dom-query.html: Added.
2617         * Dromaeo/resources/dromaeo/web/tests/dom-traverse.html: Added.
2618         * Dromaeo/resources/dromaeo/web/tests/dromaeo-3d-cube.html: Added.
2619         * Dromaeo/resources/dromaeo/web/tests/dromaeo-core-eval.html: Added.
2620         * Dromaeo/resources/dromaeo/web/tests/dromaeo-object-array.html: Added.
2621         * Dromaeo/resources/dromaeo/web/tests/dromaeo-object-regexp.html: Added.
2622         * Dromaeo/resources/dromaeo/web/tests/dromaeo-object-string.html: Added.
2623         * Dromaeo/resources/dromaeo/web/tests/dromaeo-string-base64.html: Added.
2624         * Dromaeo/resources/dromaeo/web/tests/jslib-attr-jquery.html: Added.
2625         * Dromaeo/resources/dromaeo/web/tests/jslib-attr-prototype.html: Added.
2626         * Dromaeo/resources/dromaeo/web/tests/jslib-event-jquery.html: Added.
2627         * Dromaeo/resources/dromaeo/web/tests/jslib-event-prototype.html: Added.
2628         * Dromaeo/resources/dromaeo/web/tests/jslib-modify-jquery.html: Added.
2629         * Dromaeo/resources/dromaeo/web/tests/jslib-modify-prototype.html: Added.
2630         * Dromaeo/resources/dromaeo/web/tests/jslib-style-jquery.html: Added.
2631         * Dromaeo/resources/dromaeo/web/tests/jslib-style-prototype.html: Added.
2632         * Dromaeo/resources/dromaeo/web/tests/jslib-traverse-jquery.html: Added.
2633         * Dromaeo/resources/dromaeo/web/tests/jslib-traverse-prototype.html: Added.
2634         * Dromaeo/resources/dromaeo/web/tests/sunspider-3d-morph.html: Added.
2635         * Dromaeo/resources/dromaeo/web/tests/sunspider-3d-raytrace.html: Added.
2636         * Dromaeo/resources/dromaeo/web/tests/sunspider-access-binary-trees.html: Added.
2637         * Dromaeo/resources/dromaeo/web/tests/sunspider-access-fannkuch.html: Added.
2638         * Dromaeo/resources/dromaeo/web/tests/sunspider-access-nbody.html: Added.
2639         * Dromaeo/resources/dromaeo/web/tests/sunspider-access-nsieve.html: Added.
2640         * Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-3bit-bits-in-byte.html: Added.
2641         * Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-bits-in-byte.html: Added.
2642         * Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-bitwise-and.html: Added.
2643         * Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-nsieve-bits.html: Added.
2644         * Dromaeo/resources/dromaeo/web/tests/sunspider-controlflow-recursive.html: Added.
2645         * Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-aes.html: Added.
2646         * Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-md5.html: Added.
2647         * Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-sha1.html: Added.
2648         * Dromaeo/resources/dromaeo/web/tests/sunspider-date-format-tofte.html: Added.
2649         * Dromaeo/resources/dromaeo/web/tests/sunspider-date-format-xparb.html: Added.
2650         * Dromaeo/resources/dromaeo/web/tests/sunspider-math-cordic.html: Added.
2651         * Dromaeo/resources/dromaeo/web/tests/sunspider-math-partial-sums.html: Added.
2652         * Dromaeo/resources/dromaeo/web/tests/sunspider-math-spectral-norm.html: Added.
2653         * Dromaeo/resources/dromaeo/web/tests/sunspider-regexp-dna.html: Added.
2654         * Dromaeo/resources/dromaeo/web/tests/sunspider-string-fasta.html: Added.
2655         * Dromaeo/resources/dromaeo/web/tests/sunspider-string-tagcloud.html: Added.
2656         * Dromaeo/resources/dromaeo/web/tests/sunspider-string-unpack-code.html: Added.
2657         * Dromaeo/resources/dromaeo/web/tests/sunspider-string-validate-input.html: Added.
2658         * Dromaeo/resources/dromaeo/web/tests/v8-crypto.html: Added.
2659         * Dromaeo/resources/dromaeo/web/tests/v8-deltablue.html: Added.
2660         * Dromaeo/resources/dromaeo/web/tests/v8-earley-boyer.html: Added.
2661         * Dromaeo/resources/dromaeo/web/tests/v8-raytrace.html: Added.
2662         * Dromaeo/resources/dromaeo/web/tests/v8-richards.html: Added.
2663         * Dromaeo/resources/dromaeo/web/tests/72px.png: Added.
2664         * Dromaeo/resources/dromaeo/web/web-style.css: Added.
2665         * Dromaeo/resources/dromaeo/web/webrunner.js: Added.
2666         * Skipped: Unskip the dromaeo driver.
2667
2668 2012-01-31  Ryosuke Niwa  <rniwa@webkit.org>
2669
2670         Fix Parser/html5-full-render.html after r106379.
2671
2672         * Parser/html5-full-render.html:
2673
2674 2012-01-31  Ryosuke Niwa  <rniwa@webkit.org>
2675
2676         PerfTestRunner should automatically create pre#log
2677         https://bugs.webkit.org/show_bug.cgi?id=77469
2678
2679         Reviewed by Tony Chang.
2680
2681         Automatically generate <pre id="log"></pre> if there isn't one.
2682
2683         * Bindings/event-target-wrapper.html:
2684         * DOM/Accessors.html:
2685         * DOM/CloneNodes.html:
2686         * DOM/CreateNodes.html:
2687         * DOM/DOMDivWalk.html:
2688         * DOM/DOMTable.html:
2689         * DOM/DOMWalk.html:
2690         * DOM/Events.html:
2691         * DOM/GetElement.html:
2692         * DOM/GridSort.html:
2693         * DOM/Template.html:
2694         * Dromaeo/dom-query.html:
2695         * Dromaeo/resources/dromaeorunner.js:
2696         * Parser/html-parser.html:
2697         * Parser/html5-full-render.html:
2698         * Parser/simple-url.html:
2699         * Parser/tiny-innerHTML.html:
2700         * Parser/url-parser.html:
2701         * Parser/xml-parser.html:
2702         * resources/runner.js:
2703         (PerfTestRunner.log):
2704         (PerfTestRunner.printStatistics):
2705
2706 2012-01-31  Ryosuke Niwa  <rniwa@webkit.org>
2707
2708         runner.js in performance tests should define a class
2709         https://bugs.webkit.org/show_bug.cgi?id=77074
2710
2711         Reviewed by Eric Seidel.
2712
2713         Wrap all functions in runner.js by PerfTestRunner and update tests that runner.js accordingly.
2714         Also replace compute* functions in runner.js by more robust code from dom-perf.js.
2715
2716         * Bindings/event-target-wrapper.html:
2717         * DOM/DOMTable.html:
2718         * DOM/resources/dom-perf.js:
2719         (BenchmarkSuite.prototype.RunSingle):
2720         (runBenchmarkSuite):
2721         * Mutation/append-child-deep.html:
2722         * Mutation/append-child.html:
2723         * Mutation/inner-html.html:
2724         * Mutation/remove-child-deep.html:
2725         * Mutation/remove-child.html:
2726         * Parser/html-parser.html:
2727         * Parser/html5-full-render.html:
2728         * Parser/simple-url.html:
2729         * Parser/tiny-innerHTML.html:
2730         * Parser/url-parser.html:
2731         * Parser/xml-parser.html:
2732         * resources/runner.js:
2733         (PerfTestRunner.log):
2734         (PerfTestRunner.logInfo):
2735         (PerfTestRunner.loadFile):
2736         (PerfTestRunner.computeStatistics):
2737         (PerfTestRunner.logStatistics):
2738         (PerfTestRunner._runLoop.else):
2739         (PerfTestRunner._runLoop):
2740         (PerfTestRunner._runner):
2741
2742 2012-01-31  Hajime Morrita  <morrita@chromium.org>
2743
2744         [PerformanceTests] Add landing html for Dromaeo dom-query test
2745         https://bugs.webkit.org/show_bug.cgi?id=77329
2746
2747         Reviewed by Ryosuke Niwa.
2748
2749         Added a "landing html" which includes actual dromaemo page and
2750         send messages to interact with it. The landing html also dumps the
2751         score in run-perf-tests friendly format.
2752
2753         This test isn't enabled until Dromaemo itself is available for run-perf-tests.
2754         It will happen in a separate change.
2755
2756         * Dromaeo/dom-query.html: Added.
2757         * Dromaeo/resources/dromaeorunner.js: Added.
2758         * Skipped: Skipping this for now.
2759
2760 2012-01-30  Ryosuke Niwa  <rniwa@webkit.org>
2761
2762         Skip inspector tests since they have been timing out.
2763
2764         * Skipped:
2765
2766 2012-01-29  Ryosuke Niwa  <rniwa@webkit.org>
2767
2768         DOM/DOMDivWalk.html result is unreliable
2769         https://bugs.webkit.org/show_bug.cgi?id=77313
2770
2771         Reviewed by Adam Barth.
2772
2773         Trigger garbage collection manually between test runs to avoid GC
2774         to occur in the middle of runs.
2775
2776         * DOM/resources/dom-perf.js:
2777         (BenchmarkSuite.prototype.RunSingle):
2778         * resources/runner.js:
2779         (gc.else.gcRec):
2780         (gc):
2781         (runLoop):
2782
2783 2012-01-26  Ryosuke Niwa  <rniwa@webkit.org>
2784
2785         Import Chromium's dom_perf test
2786         https://bugs.webkit.org/show_bug.cgi?id=77175
2787
2788         Reviewed by Adam Barth.
2789
2790         Import dom_perf.
2791
2792         Note resources/dom/suites.js isn't used by any html file yet but it will be used by Chromium port
2793         once its perf bots start pulling test files from WebKit repository instead of Google's internal repository.
2794
2795         * DOM: Added.
2796         * DOM/Accessors.html: Added.
2797         * DOM/CloneNodes.html: Added.
2798         * DOM/CreateNodes.html: Added.
2799         * DOM/DOMDivWalk.html: Added.
2800         * DOM/DOMTable.html: Added.
2801         * DOM/DOMWalk.html: Added.
2802         * DOM/Events.html: Added.
2803         * DOM/GetElement.html: Added.
2804         * DOM/GridSort.html: Added.
2805         * DOM/Template.html: Added.
2806         * DOM/resources: Added.
2807         * DOM/resources/dom-perf.js: Added.
2808         * DOM/resources/dom-perf: Added.
2809         * DOM/resources/dom-perf/accessors.js: Added.
2810         * DOM/resources/dom-perf/clonenodes.js: Added.
2811         * DOM/resources/dom-perf/createnodes.js: Added.
2812         * DOM/resources/dom-perf/domdivwalk.js: Added.
2813         * DOM/resources/dom-perf/domtable.js: Added.
2814         * DOM/resources/dom-perf/domwalk.js: Added.
2815         * DOM/resources/dom-perf/events.js: Added.
2816         * DOM/resources/dom-perf/getelement.js: Added.
2817         * DOM/resources/dom-perf/gridsort.js: Added.
2818         * DOM/resources/dom-perf/suites.js: Added.
2819         * DOM/resources/dom-perf/template.js: Added.
2820         * resources/runner.js:
2821
2822 2012-01-25  Ryosuke Niwa  <rniwa@webkit.org>
2823
2824         html5-full-render.html fails due to a log
2825         https://bugs.webkit.org/show_bug.cgi?id=77046
2826
2827         Reviewed by Adam Barth.
2828
2829         Replace the call to log() in html5-full-render.html by a call to newly added logInfo(),
2830         which doesn't print anything inside DRT.
2831
2832         * Parser/html5-full-render.html:
2833         * resources/runner.js:
2834         (logInfo):
2835
2836 2012-01-19  Adam Barth  <abarth@webkit.org>
2837
2838         PerformanceTests's runner.js shouldn't be Parser-specific
2839         https://bugs.webkit.org/show_bug.cgi?id=76670
2840
2841         Reviewed by Ryosuke Niwa.
2842
2843         This runner script is used by a bunch of difference performance tests.
2844         It shouldn't be in the Parser directory anymore.
2845
2846         * Bindings/event-target-wrapper.html:
2847         * Mutation/append-child-deep.html:
2848         * Mutation/append-child.html:
2849         * Mutation/inner-html.html:
2850         * Mutation/remove-child-deep.html:
2851         * Mutation/remove-child.html:
2852         * Parser/html-parser.html:
2853         * Parser/html5-full-render.html:
2854         * Parser/resources/runner.js: Removed.
2855         * Parser/simple-url.html:
2856         * Parser/tiny-innerHTML.html:
2857         * Parser/url-parser.html:
2858         * Parser/xml-parser.html:
2859         * resources: Added.
2860         * resources/runner.js: Copied from PerformanceTests/Parser/resources/runner.js.
2861
2862 2012-01-19  Ryosuke Niwa  <rniwa@webkit.org>
2863
2864         Some perf tests time out when ran by run-perf-tests
2865         https://bugs.webkit.org/show_bug.cgi?id=76612
2866
2867         Reviewed by Dirk Pranke and Eric Seidel.
2868
2869         Replace all images in html5.html by geenbox.png to avoid accessing whatwg.org when
2870         running the parser tests. Also call dumpAsText, waitUntilDone, and notifyDone automatically
2871         inside runner.js to avoid having to call them in individual tests.
2872
2873         * Bindings/event-target-wrapper.html: Removed calls to layoutTestController methods since
2874         they are now called by runner.js automatically.
2875         * Parser/resources/greenbox.png: Copied from LayoutTests/fast/css/resources/greenbox.png.
2876         * Parser/resources/html5.html:
2877         * Parser/resources/runner.js:
2878         (runLoop):
2879
2880 2012-01-18  Ryosuke Niwa  <rniwa@webkit.org>
2881
2882         run-perf-tests should support Skipped list
2883         https://bugs.webkit.org/show_bug.cgi?id=76594
2884
2885         Reviewed by Adam Barth.
2886
2887         Add Skipped list to be used by run-perf-tests as it can only runs tests in
2888         Bindings, Parser, and inspector at the moment.
2889
2890         * Skipped: Added.
2891
2892 2012-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
2893
2894         Web Inspector: performance: restore 'log 300 messages into console' test.
2895         https://bugs.webkit.org/show_bug.cgi?id=76170
2896
2897         It was removed in order of transition from layout tests to perf tests.
2898
2899         Reviewed by Yury Semikhatsky.
2900
2901         * inspector/console-300-lines.html: Added.
2902
2903 2012-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
2904
2905         Web Inspector: performance tests: fix memory leak in first-open-resources test.
2906         https://bugs.webkit.org/show_bug.cgi?id=76049
2907
2908         first-open-resources doesn't reset resource panel properly after test run.
2909
2910         Reviewed by Yury Semikhatsky.
2911
2912         * inspector/first-open-resources.html:
2913
2914 2012-01-10  Ilya Tikhonovsky  <loislo@chromium.org>
2915
2916         Unreviewed. WebInspector: Remove unnecessary logging from the test.
2917
2918         * inspector/first-open-resources.html:
2919
2920 2012-01-10  Ilya Tikhonovsky  <loislo@chromium.org>
2921
2922         Unreviewed. Restore test that was removed during migration from LayoutTests folder.
2923
2924         * inspector/first-open-resources.html: Added.
2925
2926 2012-01-09  Ilya Tikhonovsky  <loislo@chromium.org>
2927
2928         Unreviewed test fix after r103683.
2929
2930         * inspector/first-open-scripts.html:
2931         * inspector/show-panel.html:
2932
2933 2012-01-03  Adam Barth  <abarth@webkit.org>
2934
2935         html-parser.html takes too long to run
2936         https://bugs.webkit.org/show_bug.cgi?id=75515
2937
2938         Reviewed by Eric Seidel.
2939
2940         In working on runner.js, we introduced a factor of 10 increase to the
2941         running time of this benchmark.  This patch dials down the number of
2942         iterations to something more user-friendly.
2943
2944         * Parser/html-parser.html:
2945
2946 2011-12-18  Ilya Tikhonovsky  <loislo@chromium.org>
2947
2948         Web Inspector: move heap data stats to separate tab.
2949         https://bugs.webkit.org/show_bug.cgi?id=74704
2950
2951         Reviewed by Pavel Feldman.
2952
2953         * inspector/performance-test.js:
2954         (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump):
2955         (initialize_TimeTracker.InspectorTest.runPerformanceTest):
2956
2957 2011-12-01  Ilya Tikhonovsky  <loislo@chromium.org>
2958
2959         Web Inspector: chromium: move and adapt Inspector's performance tests for running with run-inspector-perf-tests.py.
2960         https://bugs.webkit.org/show_bug.cgi?id=72260
2961
2962         Reviewed by Pavel Feldman.
2963
2964         * inspector/first-open-elements.html: Renamed from LayoutTests/inspector/performance/resources/first-open-elements.html.
2965         * inspector/first-open-scripts.html: Renamed from LayoutTests/inspector/performance/resources/first-open-scripts.html.
2966         * inspector/inspector-startup-time.html: Renamed from LayoutTests/inspector/performance/resources/inspector-startup-time.html.
2967         * inspector/network-append-30-requests.html: Renamed from LayoutTests/inspector/performance/resources/network-append-30-requests.html.
2968         * inspector/performance-test.js: Renamed from LayoutTests/inspector/performance/resources/performance-test.js.
2969         (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer):
2970         (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.start):
2971         (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.finish):
2972         (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._getJSHeapSize):
2973         (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.done):
2974         (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._runTest):
2975         (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump):
2976         (initialize_TimeTracker.InspectorTest.runPerformanceTest):
2977         (initialize_TimeTracker.InspectorTest.mark):
2978         * inspector/show-panel.html: Renamed from LayoutTests/inspector/performance/resources/show-panel.html.
2979
2980 2011-11-09  Adam Klein  <adamk@chromium.org>
2981
2982         [MutationObservers] Microbenchmarks for appendChild, removeChild, and innerHTML
2983         https://bugs.webkit.org/show_bug.cgi?id=71939
2984
2985         Reviewed by Ojan Vafai.
2986
2987         These benchmarks time both the DOM mutations themselves and the time taken
2988         to call the MutationCallback. This measurement is achieved by
2989         executing the code entirely within the MutationCallback itself.
2990
2991         * Mutation/append-child-deep.html: Added. Covers appendChild in a 200-node-deep tree with subtree observation.
2992         * Mutation/append-child.html: Added. Covers appendChild in a flat tree.
2993         * Mutation/inner-html.html: Added. Covers innerHTML adding and removing many nodes at a time.
2994         * Mutation/remove-child-deep.html: Added. Covers removeChild in a 200-node-deep tree with subtree observation.
2995         * Mutation/remove-child.html: Added. Covers removeChild in a flat tree.
2996
2997 2011-10-25  Adam Barth  <abarth@webkit.org>
2998
2999         EventTargetFactory.in is not sorted
3000         https://bugs.webkit.org/show_bug.cgi?id=70855
3001
3002         Reviewed by Eric Seidel.
3003
3004         Add a microbenchmark for wrapping event target.
3005
3006         * Bindings: Added.
3007         * Bindings/event-target-wrapper.html: Added.
3008         * Parser/resources/runner.js:
3009         (runLoop):
3010             - Let the user of the harness get a callback when the test is done.
3011
3012 2011-10-04  Eric Seidel  <eric@webkit.org>
3013
3014         Update html5-full-render.html to load the HTML5 spec incrementally, closer to how the browser would
3015         https://bugs.webkit.org/show_bug.cgi?id=69374
3016
3017         Unreviewed.
3018
3019         Per https://bugs.webkit.org/show_bug.cgi?id=69374#c7
3020         updating the chunksize to be a bit smaller now that the total
3021         size of the html5 spec is smaller than when I wrote the test.
3022
3023         This should increase the prevalence of style resolution in the
3024         sample time, which more closely matches instrument samples
3025         taken when loading the full page in Safari.
3026
3027         * Parser/html5-full-render.html:
3028
3029 2011-10-04  Eric Seidel  <eric@webkit.org>
3030
3031         Update html5-full-render.html to load the HTML5 spec incrementally, closer to how the browser would
3032         https://bugs.webkit.org/show_bug.cgi?id=69374
3033
3034         Reviewed by James Robinson.
3035
3036         This should finally be able to provide us with a repeatable metric
3037         for how fast we're currently able to load the HTML5 spec.
3038         There are a variety of interesting functions which show up in this
3039         sample, including of course style resolution.
3040
3041         * Parser/html5-full-render.html:
3042
3043 2011-10-04  Eric Seidel  <eric@webkit.org>
3044
3045         Update our copy of the HTML5 spec used for performance testing to match the latest version
3046         https://bugs.webkit.org/show_bug.cgi?id=69364
3047
3048         Unreviewed.  The patch is too large to post, so landing this unreviewed. :(
3049
3050         The copy of the html5 spec we were using for testing was over a year old
3051         and didn't have any of the subresources with it (we were only using it
3052         as an HTML parsing benchmark).  I'm about to use it for testing
3053         the full load/render time of the benchmark, so I've updated to the latest
3054         version of the spec (now 8mb instead of 5mb) and inlined two of the
3055         CSS files.  (Inlining the CSS was necessary to make my testing consistent
3056         as there seems to be a race with some timer fired after CSS load.)
3057
3058         Increasing from 5mb to 8mb showed a similar 30% slowdown in our parser
3059         benchmarks as expected.
3060
3061         * Parser/resources/html5.html:
3062
3063 2011-10-04  Eric Seidel  <eric@webkit.org>
3064
3065         Add loopsPerRun option to Parser performance test runner
3066         https://bugs.webkit.org/show_bug.cgi?id=69363
3067
3068         Reviewed by Antti Koivisto.
3069
3070         Add loopsPerRun option and abstract out runLoop function (to make the UI more responsive).
3071         No change in behavior in any of the tests.
3072
3073         * Parser/resources/runner.js:
3074         (runLoop):
3075         (run):
3076         (start):
3077
3078 2011-10-03  Eric Seidel  <eric@webkit.org>
3079
3080         Add a microbenchmark for a full-page render of the HTML5 spec
3081         https://bugs.webkit.org/show_bug.cgi?id=69285
3082
3083         Reviewed by Adam Barth.
3084
3085         This was designed to be a test for https://bugs.webkit.org/show_bug.cgi?id=68944
3086         But it seems that by far our dominating cost for the HTML5 benchmark is
3087         time spent laying out lines (which isn't actually that surprising).
3088
3089         I'm adding the performance test for posterity.
3090
3091         * Parser/html-parser.html:
3092          - Removed use of "about:blank" which abarth says is a no-op.  Made comment more accurate.
3093         * Parser/html5-full-render.html: Copied from PerformanceTests/Parser/html-parser.html.
3094
3095 2011-10-03  Eric Seidel  <eric@webkit.org>
3096
3097         PerformanceTests/Parser/html-parser is only testing parsing of the head element
3098         https://bugs.webkit.org/show_bug.cgi?id=69283
3099
3100         Reviewed by Adam Barth.
3101
3102         While investigating https://bugs.webkit.org/show_bug.cgi?id=68944
3103         I found that the html-parser benchmark was only parsing up to the
3104         first script tag per loop!  We've fixed this by adding the sandbox
3105         tag which will deny all external loads and allow the parser to
3106         synchronously continue parsing the entire document to completion
3107         (as we had expected it was doing).
3108
3109         This changes the profile somewhat.  Line number counting is much
3110         hotter, since we're actually accounting for the parse of the entire
3111         document in our sample.
3112
3113         Total sample time only about doubles, from 1800ms to 3800ms on my machine
3114         which is less than I would have expected.
3115
3116         * Parser/html-parser.html:
3117
3118 2011-08-09  Alexandru Chiculita  <achicu@adobe.com>
3119
3120         Fixing 65868 REGRESSION(r92610) caused by 65668 - Optimize floating elements lookup
3121         https://bugs.webkit.org/show_bug.cgi?id=65871
3122
3123         Reviewed by Dave Hyatt.
3124
3125         * Layout/floats.html: Added the nested divs, so that we can test the propagation impact of the floats tree.
3126
3127 2011-08-08  Sheriff Bot  <webkit.review.bot@gmail.com>
3128
3129         Unreviewed, rolling out r92610.
3130         http://trac.webkit.org/changeset/92610
3131         https://bugs.webkit.org/show_bug.cgi?id=65868
3132
3133         Caused assertion failures when running fast/multicol tests
3134         (Requested by andersca on #webkit).
3135
3136         * Layout/floats.html:
3137
3138 2011-08-08  Alexandru Chiculita  <achicu@adobe.com>
3139
3140         Optimize floating elements lookup
3141         https://bugs.webkit.org/show_bug.cgi?id=65668
3142
3143         Reviewed by David Hyatt.
3144
3145         * Layout/floats.html: Added the nested divs, so that we can test the propagation impact of the floats tree.
3146
3147 2011-08-04  Alexandru Chiculita  <achicu@adobe.com>
3148
3149         Add a performance test for floating elements layout algorithm
3150         https://bugs.webkit.org/show_bug.cgi?id=65741
3151
3152         The test creating lots of small floats and randomly changes
3153         the width of one element at a time. It measures how often it can do that.
3154
3155         Reviewed by Adam Barth.
3156
3157         * Layout/floats.html: Added.
3158
3159 2011-05-30  Daniel Bates  <dbates@webkit.org>
3160
3161         Reviewed by Adam Barth.
3162
3163         Rename XSSFilter to XSSAuditor
3164         https://bugs.webkit.org/show_bug.cgi?id=61718
3165
3166         Currently we use the names XSSFilter and XSSAuditor throughout the project.
3167         Instead, we should choose one name for consistency.
3168
3169         No functionality was changed. So, no new tests.
3170
3171         * XSSAuditor: Copied from PerformanceTests/XSSFilter.
3172         * XSSFilter: Removed.
3173         * XSSFilter/large-post-many-events.html: Removed.
3174         * XSSFilter/large-post-many-inline-scripts-and-events.html: Removed.
3175         * XSSFilter/resources: Removed.
3176         * XSSFilter/resources/target-for-large-post-many-inline-scripts-and-events.html: Removed.
3177
3178 2011-03-25  Leo Yang  <leo.yang@torchmobile.com.cn>
3179
3180         Reviewed by Dirk Schulze.
3181
3182         SVG <use> element performance improvement
3183         https://bugs.webkit.org/show_bug.cgi?id=57077
3184
3185         Add a manual test case which is from
3186         http://upload.wikimedia.org/wikipedia/commons/4/4e/Sierpinski_carpet_6.svg
3187         for svg <use> element performance test.
3188
3189         * PageLoad/svg/files/Sierpinski_carpet_6.svg: Added.
3190         * PageLoad/svg/svg.pltsuite:
3191
3192 2011-02-05  Eric Seidel  <eric@webkit.org>
3193
3194         Reviewed by Adam Barth.
3195
3196         Add performance tests for URL parsing
3197         https://bugs.webkit.org/show_bug.cgi?id=53845
3198
3199         The final-url-en URL corpus is from:
3200         http://corpus.leeds.ac.uk/internet.html
3201
3202         There are also other language corpuses which we may want to use in the future.
3203
3204         The usage instructions were as follows:
3205         "URL lists and other resources: you can freely use them in your research
3206         provided that you supply a link to this website: http://corpus.leeds.ac.uk/."
3207         Done.
3208
3209         * Parser/simple-url.html: Added.
3210          On my machine:
3211          Firefox: 255ms
3212          TOT WebKit: 378ms
3213          Chrome: 286ms
3214          Opera: 2830ms (no, that is not a typo)
3215         * Parser/url-parser.html: Added.
3216          Firefox: 381ms
3217          TOT WebKit: 216ms
3218          Chrome: 131ms
3219          Opera: 1383ms (again, not a typo)
3220         * Parser/resources/final-url-en: Added.
3221
3222 2011-02-03  Adam Barth  <abarth@webkit.org>
3223
3224         Reviewed by Daniel Bates.
3225
3226         Add another XSSFilter PerformanceTest
3227         https://bugs.webkit.org/show_bug.cgi?id=53750
3228
3229         This PerformanceTest tests the case that was slow in
3230         https://bugs.webkit.org/show_bug.cgi?id=49845
3231
3232         * XSSFilter/large-post-many-inline-scripts-and-events.html: Added.
3233         * XSSFilter/resources: Added.
3234         * XSSFilter/resources/target-for-large-post-many-inline-scripts-and-events.html: Added.
3235
3236 2011-02-03  Adam Barth  <abarth@webkit.org>
3237
3238         Reviewed by Eric Seidel.
3239
3240         Add PerformanceTest for XSSFilter
3241         https://bugs.webkit.org/show_bug.cgi?id=53741
3242
3243         This performance tests covers the case of a large POST data and many
3244         small event handlers.
3245
3246         * XSSFilter: Added.
3247         * XSSFilter/large-post-many-events.html: Added.
3248
3249 2011-02-02  Adam Barth  <abarth@webkit.org>
3250
3251         Rubber-stamped by Eric Seidel.
3252
3253         Merge PerformanceTests/Parser/ChangeLog and
3254         PerformanceTests/PageLoad/ChangeLog into PerformanceTests/ChangeLog.
3255
3256         It's silly to have ChangeLogs for each of these directories separately.
3257         I've left SunSpider with its own ChangeLog because it's more of an
3258         independent entity.
3259
3260         * ChangeLog: Added.
3261
3262 2011-02-02  Eric Seidel  <eric@webkit.org>
3263
3264         Unreviewed.  Just fixing an exception seen in Firefox.
3265
3266         HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
3267         https://bugs.webkit.org/show_bug.cgi?id=48719
3268
3269         Make the benchmarks work in Firefox/Opera.
3270
3271         * resources/runner.js:
3272         (log):
3273
3274 2011-01-27  Eric Seidel  <eric@webkit.org>
3275
3276         Reviewed by Darin Adler.
3277
3278         HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
3279         https://bugs.webkit.org/show_bug.cgi?id=48719
3280
3281         It's unclear exactly what the Peacekeeper benchmark is testing,
3282         because I haven't found a way to run it myself.
3283
3284         However, I constructed a benchmark which shows at least one possible slow point.
3285         The HTML5 spec talks about creating a new document for every time we use
3286         the fragment parsing algorithm.  Document() it turns out, it a huge bloated
3287         mess, and the constructor and destructor do a huge amount of work.
3288
3289         * benchmarks/parser/tiny-innerHTML.html: Added.
3290
3291 2011-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
3292
3293         Unreviewed, rolling out r77050.
3294         http://trac.webkit.org/changeset/77050
3295         https://bugs.webkit.org/show_bug.cgi?id=53371
3296
3297         Caused a crash in Chromium's test_shell_tests (Requested by
3298         rniwa on #webkit).
3299
3300         * resources/performance-test.js: Removed.
3301         * tiny-innerHTML.html: Removed.
3302
3303 2011-01-28  Eric Seidel  <eric@webkit.org>
3304
3305         Reviewed by Darin Adler.
3306
3307         HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
3308         https://bugs.webkit.org/show_bug.cgi?id=48719
3309
3310         It's unclear exactly what the Peacekeeper benchmark is testing,
3311         because I haven't found a way to run it myself.
3312
3313         However, I constructed a benchmark which shows at least one possible slow point.
3314         The HTML5 spec talks about creating a new document for every time we use
3315         the fragment parsing algorithm.  Document() it turns out, it a huge bloated
3316         mess, and the constructor and destructor do a huge amount of work.
3317         To avoid constructing (or destructing) documents for each innerHTML call,
3318         this patch adds a shared dummy document used by all innerHTML calls.
3319
3320         * benchmarks/parser/tiny-innerHTML.html: Added.
3321
3322 2010-12-31  Adam Barth  <abarth@webkit.org>
3323
3324         Rubber-stamped by Eric Seidel.
3325
3326         Move HTML and XML parser benchmarks into PerformanceTests/Parser
3327         https://bugs.webkit.org/show_bug.cgi?id=51772
3328
3329         Add a ChangeLog for tracking changes to the Parser PerformanceTest.
3330
3331         * ChangeLog: Added.
3332
3333 2010-12-31  Adam Barth  <abarth@webkit.org>
3334
3335         Rubber-stamped by Eric Seidel.
3336
3337         Move PageLoadTests to PerformanceTests/PageLoad
3338         https://bugs.webkit.org/show_bug.cgi?id=51771
3339
3340         Update URLs to point to the new directory name.
3341
3342         * svg/svg.pltsuite:
3343
3344 2006-12-26  Eric Seidel  <eric@webkit.org>
3345
3346         Reviewed by olliej.
3347
3348         * svg/svg.pltsuite: re-enable word-iso.svg after fixing http://bugs.webkit.org/show_bug.cgi?id=11987
3349
3350 2006-12-26  Eric Seidel  <eric@webkit.org>
3351
3352         Reviewed by bradee-oh.
3353         
3354         Add new PageLoadTests directory (this one)
3355         Add LICENSES file to explain where each SVG came from.
3356
3357         * ChangeLog: Added.
3358         * svg/LICENSES: Added.
3359         * svg/files/33041-Samurai.svg: Added.
3360         * svg/files/42470-flower_from_my_garden_v2.svg: Added.
3361         * svg/files/Harvey_Rayner.svg: Added.
3362         * svg/files/az-lizard_benji_park_01.svg: Added.
3363         * svg/files/bamboo_01.svg: Added.
3364         * svg/files/cacuts_01.svg: Added.
3365         * svg/files/cowboy.svg: Added.
3366         * svg/files/crawfish2_ganson.svg: Added.
3367         * svg/files/deb9frac1.svg: Added.
3368         * svg/files/food_leif_lodahl_01.svg: Added.
3369         * svg/files/france.svg: Added.
3370         * svg/files/francobollo_gnome_ezechi_02.svg: Added.
3371         * svg/files/gearflowers.svg: Added.
3372         * svg/files/hereGear4.svg: Added.
3373         * svg/files/mtsthelens.svg: Added.
3374         * svg/files/mtsthelens0.jpg: Added.
3375         * svg/files/world-iso.svg: Added.
3376         * svg/files/worldcup.svg: Added.
3377         * svg/svg.pltsuite: Added.
3378