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