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