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