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