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