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