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