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