1 2014-01-02 Myles C. Maxfield <mmaxfield@apple.com>
3 Allow ImageBuffer to re-use IOSurfaces
4 https://bugs.webkit.org/show_bug.cgi?id=125477
6 Reviewed by Geoff Garen.
8 This test times creating a variety of different sizes of canvases
9 once some have already been created. The second creation of the
10 canvases should re-use the existing IOSurfaces.
12 * Canvas/reuse.html: Added.
14 2013-12-23 Commit Queue <commit-queue@webkit.org>
16 Unreviewed, rolling out r160945.
17 http://trac.webkit.org/changeset/160945
18 https://bugs.webkit.org/show_bug.cgi?id=126164
20 Seems to have broken multiple canvas tests (Requested by ap on
23 * Canvas/reuse.html: Removed.
25 2013-12-09 Myles C. Maxfield <mmaxfield@apple.com>
27 Allow ImageBuffer to re-use IOSurfaces
28 https://bugs.webkit.org/show_bug.cgi?id=125477
30 Reviewed by Geoff Garen.
32 This test times creating a variety of different sizes of canvases
33 once some have already been created. The second creation of the
34 canvases should re-use the existing IOSurfaces.
36 * Canvas/reuse.html: Added.
38 2013-12-15 Ryosuke Niwa <rniwa@webkit.org>
40 REGRESSION: 2x regression on Dromaeo DOM query tests
41 https://bugs.webkit.org/show_bug.cgi?id=125377
43 Reviewed by Filip Pizlo.
45 Added a micro-benchmark for updating a named property on document.
47 * Bindings/update-name-getter.html: Added.
50 2013-12-03 Manuel Rego Casasnovas <rego@igalia.com>
52 [CSS Regions] Fix Layout/RegionsSelection.html in Mac platform
53 https://bugs.webkit.org/show_bug.cgi?id=124963
55 Reviewed by Ryosuke Niwa.
57 Layout/RegionsSelection.html introduced in r159488 was not working in
58 Mac platform because of it was trying to use mouse events out of the
59 window dimensions. Use collapse() and extend() methods from Selection
60 object to solve the issue.
62 * Layout/resources/regions.js: Use collapse() and extend() instead of
65 2013-11-27 Ryosuke Niwa <rniwa@webkit.org>
67 Build fix after r159805.
69 * resources/runner.js:
71 2013-11-26 Sergio Villar Senin <svillar@igalia.com>
73 [CSS Grid Layout] Support grid-definition-{rows|columns} repeat() syntax
74 https://bugs.webkit.org/show_bug.cgi?id=103312
76 Reviewed by Andreas Kling.
78 Use the repeat() syntax to build the huge grids used by the
81 * Layout/auto-grid-lots-of-data.html:
82 * Layout/fixed-grid-lots-of-data.html:
84 2013-11-26 Ryosuke Niwa <rniwa@webkit.org>
86 Record subtest values in Dromaeo tests
87 https://bugs.webkit.org/show_bug.cgi?id=124498
89 Reviewed by Andreas Kling.
91 Made Dromaeo's test runner report values in DRT.progress via newly added PerfTestRunner.reportValues.
93 * Dromaeo/resources/dromaeorunner.js:
94 (.): Moved the definition out of DRT.setup.
96 (DRT.testObject): Extracted from DRT.setup. Set the subtest name and continueTesting.
97 continueTesting is set true for subtests; i.e. when name is specified.
98 (DRT.progress): Call PerfTestRunner.reportValues to report subtest results.
99 (DRT.teardown): Call PerfTestRunner.reportValues instead of measureValueAsync.
101 * resources/runner.js: Made various changes for newly added PerfTestRunner.reportValues.
102 (.): Moved the initialization of completedIterations, results, jsHeapResults, and mallocHeapResults into
103 start since they need to be initialized before running each subtest. Initialize logLines here since we
104 need to use the same logger for all subtests.
105 (.start): Initialize the variables mentioned above here. Also respect doNotLogStart used by reportValues.
106 (ignoreWarmUpAndLog): Added doNotLogProgress. Used by reportValues since it reports all values at once.
107 (finish): Compute the metric name such as FrameFrame and Runs from unit. Also don't log or notify done
108 when continueTesting is set on the test object.
109 (PerfTestRunner.reportValues): Added. Reports all values for the main/sub test.
111 2013-11-26 Ryosuke Niwa <rniwa@webkit.org>
113 Remove replay performance tests as it's not actively maintained
114 https://bugs.webkit.org/show_bug.cgi?id=124764
116 Reviewed by Andreas Kling.
118 Removed the replay performance tests. We can add them back when time comes.
120 * Replay/Chinese/chinaz.com.replay: Removed.
121 * Replay/Chinese/www.163.com.replay: Removed.
122 * Replay/Chinese/www.alipay.com.replay: Removed.
123 * Replay/Chinese/www.baidu.com.replay: Removed.
124 * Replay/Chinese/www.csdn.net.replay: Removed.
125 * Replay/Chinese/www.douban.com.replay: Removed.
126 * Replay/Chinese/www.hao123.com.replay: Removed.
127 * Replay/Chinese/www.xinhuanet.com.replay: Removed.
128 * Replay/Chinese/www.xunlei.com.replay: Removed.
129 * Replay/Chinese/www.youku.com.replay: Removed.
130 * Replay/English/beatonna.livejournal.com.replay: Removed.
131 * Replay/English/cakewrecks.blogspot.com.replay: Removed.
132 * Replay/English/chemistry.about.com.replay: Removed.
133 * Replay/English/digg.com.replay: Removed.
134 * Replay/English/en.wikipedia.org-rorschach_test.replay: Removed.
135 * Replay/English/icanhascheezburger.com.replay: Removed.
136 * Replay/English/imgur.com-gallery.replay: Removed.
137 * Replay/English/online.wsj.com.replay: Removed.
138 * Replay/English/stockoverflow.com-best-comment.replay: Removed.
139 * Replay/English/www.alibaba.com.replay: Removed.
140 * Replay/English/www.amazon.com-kindle.replay: Removed.
141 * Replay/English/www.apple.com.replay: Removed.
142 * Replay/English/www.cnet.com.replay: Removed.
143 * Replay/English/www.dailymotion.com.replay: Removed.
144 * Replay/English/www.ehow.com-prevent-fire.replay: Removed.
145 * Replay/English/www.filestube.com-amy-adams.replay: Removed.
146 * Replay/English/www.foxnews.replay: Removed.
147 * Replay/English/www.huffingtonpost.com.replay: Removed.
148 * Replay/English/www.imdb.com-twilight.replay: Removed.
149 * Replay/English/www.mozilla.com-all-order.replay: Removed.
150 * Replay/English/www.php.net.replay: Removed.
151 * Replay/English/www.reddit.com.replay: Removed.
152 * Replay/English/www.telegraph.co.uk.replay: Removed.
153 * Replay/English/www.w3.org-htmlcss.replay: Removed.
154 * Replay/English/www.w3schools.com-html.replay: Removed.
155 * Replay/English/www.youtube.com-music.replay: Removed.
156 * Replay/French/www.orange.fr.replay: Removed.
157 * Replay/Italian/www.repubblica.it.replay: Removed.
158 * Replay/Japanese/2ch.net-newsplus.replay: Removed.
159 * Replay/Japanese/entameblog.seesaa.net.replay: Removed.
160 * Replay/Japanese/ja.wikipedia.org.replay: Removed.
161 * Replay/Japanese/www.hatena.ne.jp.replay: Removed.
162 * Replay/Japanese/www.livedoor.com.replay: Removed.
163 * Replay/Japanese/www.nicovideo.jp.replay: Removed.
164 * Replay/Japanese/www.rakuten.co.jp.replay: Removed.
165 * Replay/Japanese/www.yahoo.co.jp.replay: Removed.
166 * Replay/Korean/www.naver.com.replay: Removed.
167 * Replay/Persian/blogfa.com.replay: Removed.
168 * Replay/Polish/www.wp.pl.replay: Removed.
169 * Replay/Portuguese/www.uol.com.br.replay: Removed.
170 * Replay/Russian/lenta.ru.replay: Removed.
171 * Replay/Russian/vkontakte.ru-help.replay: Removed.
172 * Replay/Russian/www.ixbt.com.replay: Removed.
173 * Replay/Russian/www.kp.ru.replay: Removed.
174 * Replay/Russian/www.liveinternet.ru.replay: Removed.
175 * Replay/Russian/www.pravda.ru.replay: Removed.
176 * Replay/Russian/www.rambler.ru.replay: Removed.
177 * Replay/Russian/www.ucoz.ru.replay: Removed.
178 * Replay/Russian/www.yandex.ru.replay: Removed.
179 * Replay/Spanish/www.taringa.net.replay: Removed.
180 * Replay/Swedish/www.flashback.se.replay: Removed.
181 * Replay/Swedish/www.tradera.com.replay: Removed.
182 * Replay/www.google.com.replay: Removed.
183 * Replay/www.techcrunch.com.replay: Removed.
184 * Replay/www.youtube.com.replay: Removed.
186 2013-11-22 Ryosuke Niwa <rniwa@webkit.org>
188 Layout Test editing/deleting/password-delete-performance.html is failing
189 https://bugs.webkit.org/show_bug.cgi?id=124781
191 Reviewed by Alexey Proskuryakov.
193 Add a new performance test to replace editing/deleting/password-delete-performance.html.
194 We skip this test by default since it's a micro benchmark.
196 * Interactive/DeletingInPasswordField.html: Added.
199 2013-11-18 Sergio Villar Senin <svillar@igalia.com>
201 [CSS Grid Layout] Improve content-sized track layout
202 https://bugs.webkit.org/show_bug.cgi?id=124408
204 Reviewed by Dean Jackson.
206 From Blink r156122 by <jchaffraix@chromium.org>
208 New test to check the performance of layouting grids with content sized tracks.
210 * Layout/auto-grid-lots-of-data.html: Added.
212 2013-11-08 Sergio Villar Senin <svillar@igalia.com>
214 [CSS Grid Layout] Run the content-sized tracks sizing algorithm only when required
215 https://bugs.webkit.org/show_bug.cgi?id=124039
217 Reviewed by Dean Jackson.
219 From Blink r156028 and r156168 by <jchaffraix@chromium.org>.
221 New performance tests for layouts in grids with fixed size tracks.
223 * Layout/fixed-grid-lots-of-data.html: Added.
225 2013-11-19 Manuel Rego Casasnovas <rego@igalia.com>
227 [CSS Regions] Add performance test for selection
228 https://bugs.webkit.org/show_bug.cgi?id=119230
230 Reviewed by Ryosuke Niwa.
232 Add new performance test for selection in CSS Regions. It checks a
233 selection from the first region to the last one, passing through all the
236 Test is skipped for now while implementation of selection in CSS Regions
239 * Layout/RegionsSelection.html: Added.
240 * Layout/resources/regions.js:
244 2013-11-18 Ryosuke Niwa <rniwa@webkit.org>
246 Simplify and reformat the output of performance tests inside test runners
247 https://bugs.webkit.org/show_bug.cgi?id=124496
249 Reviewed by Antti Koivisto.
251 As a preparation to support subtests for Dromaeo and DoYouEvenBench, simplify the output performance tests generate.
252 Also modernize the output to better support "metric" concept we introduced a while ago.
254 New output on Dromaeo/dom-attr looks like this:
255 -----------------------------------------------
257 getAttribute -> [1105, 1108, 1134, 1137, 1154]
258 element.property -> [1634, 1655, 1685, 1696, 1723]
259 setAttribute -> [646.3536463536464, 651, 651, 656.3436563436563, 658]
260 element.property = value -> [934, 949, 963, 964, 974]
261 element.expando = value -> [419, 419.5804195804196, 421.57842157842157, 425.57442557442556, 429]
262 element.expando -> [501, 517, 519.4805194805194, 521.4785214785214, 525]
264 1: 117.40644785571585 runs/s
265 2: 118.84720469666297 runs/s
266 3: 119.80547640905021 runs/s
267 4: 120.51886194758805 runs/s
268 5: 121.51924380569295 runs/s
270 :Time -> [117.40644785571585, 118.84720469666297, 119.80547640905021, 120.51886194758805, 121.51924380569295] runs/s
271 mean: 119.619446942942 runs/s
272 median: 119.80547640905021 runs/s
273 stdev: 1.5769040458730506 runs/s
274 min: 117.40644785571585 runs/s
275 max: 121.51924380569295 runs/s
276 -----------------------------------------------
278 * Dromaeo/resources/dromaeorunner.js:
279 (DRT.progress): Use the new format for subtest reports.
280 * resources/runner.js:
281 (.): Declare verboseLogging, which is set to true outside of test runners.
282 (PerfTestRunner.logInfo): Use verboseLogging instead of directly checking window.testRunner.
283 (PerfTestRunner.logDetail): Added. Logs informative text with a label such as "mean: 123 s" with 4-space indentation.
284 (PerfTestRunner.logStatistics): Use logDetail.
285 (.start): Initialize verboseLogging. Also log "Running 20 times" as an informative log using logDetail.
286 (.ignoreWarmUpAndLog): Use logDetail for showing the progress. These logs were useless inside test runners anyway
287 because perftest didn't get to see any output until the test finished running.
288 (.finish): Call logStatistics with metric name as opposed to a label. Each metric name is now prefixed with ':' to be
289 distinguishable from subtests, making the new format forward compatible.
291 2013-11-18 Ryosuke Niwa <rniwa@webkit.org>
293 [Performance tests] Interactive/SelectAll.html throws an exception
294 https://bugs.webkit.org/show_bug.cgi?id=124495
296 Reviewed by Antti Koivisto
298 Return a boolean indicating whether more values are needed or not in
299 PerfTestRunner.measureValueAsync so that runTest can terminate gracefully.
301 * Interactive/SelectAll.html:
302 (runTest): Don't schedule a timer for runTest if we've got enough values.
303 * resources/runner.js:
304 (PerfTestRunner.measureValueAsync): Returns true iff more values are needed.
306 2013-11-13 Antti Koivisto <antti@apple.com>
308 This was supposed to test overflow-wrap:break-word instead of word-break:break-all.
310 Rubber-stamped by Andreas Kling.
312 * Layout/line-layout-simple.html:
314 2013-11-12 Andreas Kling <akling@apple.com>
316 Remove body onload handler from html5-8266.html that was causing
317 the test to sometimes finish before doing anything interesting.
319 Unskip Parser/HTML5-8266-FullRender.html now that it's stable.
321 Rubber-stamped by Antti Koivisto.
323 * Parser/resources/html5-8266.html:
326 2013-11-12 Andreas Kling <akling@apple.com>
328 Neutralize external resource loads in the new HTML5 spec copy.
330 Skip Parser/HTML5-8266-FullRender.html until I can make it less flaky.
332 * Parser/resources/html5-8266.html:
335 2013-11-12 Andreas Kling <akling@apple.com>
337 Import a fresh version of the full HTML5 spec for perf testing.
339 Rubber-stamped by Antti Koivisto.
341 * Parser/HTML5-8266-FullRender.html: Added.
342 * Parser/HTML5-8266-ParseOnly.html: Added.
343 * Parser/resources/html5-8266.html: Added.
345 2013-11-09 Antti Koivisto <antti@apple.com>
347 Add subtest for word-break:break-all to Layout/line-layout-simple.html
348 https://bugs.webkit.org/show_bug.cgi?id=124103
350 Reviewed by Andreas Kling.
352 * Layout/line-layout-simple.html:
354 Combination "white-space:pre-wrap; word-break:break-all" is common for pure text.
356 2013-11-08 Antti Koivisto <antti@apple.com>
358 Add line layout performance test that exercises more cases
359 https://bugs.webkit.org/show_bug.cgi?id=124041
361 Reviewed by Anders Carlsson.
363 The existing line-layout.html covers the most basic left-aligned case only.
364 Add a test with more coverage for things that are mostly not yet supported by the simple
371 - white-space:pre-wrap
372 - text with simple inlines
375 * Layout/line-layout-simple.html: Added.
377 2013-10-25 Sergio Villar Senin <svillar@igalia.com>
379 Use a Vector instead of HashSet to computed the orderValues in RenderFlexibleBox
380 https://bugs.webkit.org/show_bug.cgi?id=118620
382 Reviewed by Antti Koivisto.
384 From Blink r152960 by <ojan@chromium.org>
386 New performance test for layouts in flexboxes.
388 * Layout/flexbox-lots-of-data.html: Added.
390 2013-10-24 Commit Queue <commit-queue@webkit.org>
392 Unreviewed, rolling out r157916.
393 http://trac.webkit.org/changeset/157916
394 https://bugs.webkit.org/show_bug.cgi?id=123274
396 Broke Layout/flexbox-lots-of-data.html on perfbot (Requested
399 * Layout/flexbox-lots-of-data.html: Removed.
401 2013-10-14 Sergio Villar Senin <svillar@igalia.com>
403 Use a Vector instead of HashSet to computed the orderValues in RenderFlexibleBox
404 https://bugs.webkit.org/show_bug.cgi?id=118620
406 Reviewed by Antti Koivisto.
408 From Blink r152960 by <ojan@chromium.org>
410 New performance test for layouts in flexboxes.
412 * Layout/flexbox-lots-of-data.html: Added.
414 2013-10-06 Ryosuke Niwa <rniwa@webkit.org>
416 DoYouEvenBench: Make it work on Internet Explorer 11 Release Preview
417 https://bugs.webkit.org/show_bug.cgi?id=122406
419 Reviewed by Darin Adler.
421 On Internet Explorer 11, $(elem).closest('li').data('id') fails to find the containig li of elem once
422 the first item is marked complete or deleted until we get back to the event loop in the jQuery/TodoMVC.
423 Worked around this limitation by overriding app.getTodo to use each item's id computed in advance.
425 Also use $.text instead of execCommand('InsertText') in FlightJS/MailClient since Internet Explorer
426 doesn't support execCommand('InsertText'). Also select the recipient to avoid exceptions.
428 * DoYouEvenBench/benchmark.html:
430 2013-10-05 Ryosuke Niwa <rniwa@webkit.org>
432 DoYouEvenBench: Add Facebook's React TodoMVC test case
433 https://bugs.webkit.org/show_bug.cgi?id=122379
435 Reviewed by Andreas Kling.
437 Add React/TodoMVC as a new test case. Somehow we beat Firefox on this one as well.
439 * DoYouEvenBench/benchmark.html:
440 * DoYouEvenBench/todomvc/labs: Added.
441 * DoYouEvenBench/todomvc/labs/architecture-examples: Added.
442 * DoYouEvenBench/todomvc/labs/architecture-examples/react: Added.
443 * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower.json: Added.
444 * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components: Added.
445 * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director: Added.
446 * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/LICENSE: Added.
447 * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/README.md: Added.
448 * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build: Added.
449 * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/director.js: Added.
450 * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/director.min.js: Added.
451 * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/ender.js: Added.
452 * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react: Added.
453 * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/JSXTransformer.js: Added.
454 * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/bower.json: Added.
455 * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/react.js: Added.
456 * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/react.min.js: Added.
457 * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common: Added.
458 * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.css: Added.
459 * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.js: Added.
460 * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/bg.png: Added.
461 * DoYouEvenBench/todomvc/labs/architecture-examples/react/index.html: Added.
462 * DoYouEvenBench/todomvc/labs/architecture-examples/react/js: Added.
463 * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/app.jsx: Added.
464 * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/footer.jsx: Added.
465 * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/todoItem.jsx: Added.
466 * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/utils.jsx: Added.
467 * DoYouEvenBench/todomvc/labs/architecture-examples/react/readme.md: Added.
469 2013-09-25 Ryosuke Niwa <rniwa@webkit.org>
471 DoYouEvenBench: Add a test case for FlightJS
472 https://bugs.webkit.org/show_bug.cgi?id=121926
474 Reviewed by Antti Koivisto.
476 Add a FlightJS test case.
478 * DoYouEvenBench/benchmark.html:
479 * DoYouEvenBench/benchmark.js:
480 * DoYouEvenBench/flightjs-example-app: Added.
481 * DoYouEvenBench/flightjs-example-app/LICENSE.md: Added.
482 * DoYouEvenBench/flightjs-example-app/README.md: Added.
483 * DoYouEvenBench/flightjs-example-app/app: Added.
484 * DoYouEvenBench/flightjs-example-app/app/boot: Added.
485 * DoYouEvenBench/flightjs-example-app/app/boot/page.js: Added.
486 * DoYouEvenBench/flightjs-example-app/app/component_data: Added.
487 * DoYouEvenBench/flightjs-example-app/app/component_data/compose_box.js: Added.
488 * DoYouEvenBench/flightjs-example-app/app/component_data/mail_items.js: Added.
489 * DoYouEvenBench/flightjs-example-app/app/component_data/move_to.js: Added.
490 * DoYouEvenBench/flightjs-example-app/app/component_ui: Added.
491 * DoYouEvenBench/flightjs-example-app/app/component_ui/compose_box.js: Added.
492 * DoYouEvenBench/flightjs-example-app/app/component_ui/folders.js: Added.
493 * DoYouEvenBench/flightjs-example-app/app/component_ui/mail_controls.js: Added.
494 * DoYouEvenBench/flightjs-example-app/app/component_ui/mail_items.js: Added.
495 * DoYouEvenBench/flightjs-example-app/app/component_ui/move_to_selector.js: Added.
496 * DoYouEvenBench/flightjs-example-app/app/component_ui/with_select.js: Added.
497 * DoYouEvenBench/flightjs-example-app/app/css: Added.
498 * DoYouEvenBench/flightjs-example-app/app/css/custom.css: Added.
499 * DoYouEvenBench/flightjs-example-app/app/data.js: Added.
500 * DoYouEvenBench/flightjs-example-app/app/templates.js: Added.
501 * DoYouEvenBench/flightjs-example-app/components: Added.
502 * DoYouEvenBench/flightjs-example-app/components/bootstrap: Added.
503 * DoYouEvenBench/flightjs-example-app/components/bootstrap/css: Added.
504 * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.css: Added.
505 * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.min.css: Added.
506 * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap.css: Added.
507 * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap.min.css: Added.
508 * DoYouEvenBench/flightjs-example-app/components/bootstrap/img: Added.
509 * DoYouEvenBench/flightjs-example-app/components/bootstrap/img/glyphicons-halflings-white.png: Added.
510 * DoYouEvenBench/flightjs-example-app/components/bootstrap/img/glyphicons-halflings.png: Added.
511 * DoYouEvenBench/flightjs-example-app/components/bootstrap/js: Added.
512 * DoYouEvenBench/flightjs-example-app/components/bootstrap/js/bootstrap.js: Added.
513 * DoYouEvenBench/flightjs-example-app/components/bootstrap/js/bootstrap.min.js: Added.
514 * DoYouEvenBench/flightjs-example-app/components/es5-shim: Added.
515 * DoYouEvenBench/flightjs-example-app/components/es5-shim/.gitignore: Added.
516 * DoYouEvenBench/flightjs-example-app/components/es5-shim/CHANGES: Added.
517 * DoYouEvenBench/flightjs-example-app/components/es5-shim/CONTRIBUTORS.md: Added.
518 * DoYouEvenBench/flightjs-example-app/components/es5-shim/LICENSE: Added.
519 * DoYouEvenBench/flightjs-example-app/components/es5-shim/README.md: Added.
520 * DoYouEvenBench/flightjs-example-app/components/es5-shim/component.json: Added.
521 * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-sham.js: Added.
522 * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-sham.min.js: Added.
523 * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-shim.js: Added.
524 * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-shim.min.js: Added.
525 * DoYouEvenBench/flightjs-example-app/components/es5-shim/package.json: Added.
526 * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests: Added.
527 * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers: Added.
528 * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h-kill.js: Added.
529 * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h-matchers.js: Added.
530 * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h.js: Added.
531 * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/index.html: Added.
532 * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib: Added.
533 * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine-html.js: Added.
534 * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine.css: Added.
535 * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine.js: Added.
536 * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine_favicon.png: Added.
537 * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/json2.js: Added.
538 * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec: Added.
539 * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-array.js: Added.
540 * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-date.js: Added.
541 * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-function.js: Added.
542 * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-object.js: Added.
543 * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-string.js: Added.
544 * DoYouEvenBench/flightjs-example-app/components/flight: Added.
545 * DoYouEvenBench/flightjs-example-app/components/flight/.travis.yml: Added.
546 * DoYouEvenBench/flightjs-example-app/components/flight/lib: Added.
547 * DoYouEvenBench/flightjs-example-app/components/flight/lib/advice.js: Added.
548 * DoYouEvenBench/flightjs-example-app/components/flight/lib/component.js: Added.
549 * DoYouEvenBench/flightjs-example-app/components/flight/lib/compose.js: Added.
550 * DoYouEvenBench/flightjs-example-app/components/flight/lib/index.js: Added.
551 * DoYouEvenBench/flightjs-example-app/components/flight/lib/logger.js: Added.
552 * DoYouEvenBench/flightjs-example-app/components/flight/lib/registry.js: Added.
553 * DoYouEvenBench/flightjs-example-app/components/flight/lib/utils.js: Added.
554 * DoYouEvenBench/flightjs-example-app/components/flight/tools: Added.
555 * DoYouEvenBench/flightjs-example-app/components/flight/tools/debug: Added.
556 * DoYouEvenBench/flightjs-example-app/components/flight/tools/debug/debug.js: Added.
557 * DoYouEvenBench/flightjs-example-app/components/jasmine-flight: Added.
558 * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/LICENSE.md: Added.
559 * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/README.md: Added.
560 * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/bower.json: Added.
561 * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/lib: Added.
562 * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/lib/jasmine-flight.js: Added.
563 * DoYouEvenBench/flightjs-example-app/components/jasmine-jquery: Added.
564 * DoYouEvenBench/flightjs-example-app/components/jasmine-jquery/lib: Added.
565 * DoYouEvenBench/flightjs-example-app/components/jasmine-jquery/lib/jasmine-jquery.js: Added.
566 * DoYouEvenBench/flightjs-example-app/components/jquery: Added.
567 * DoYouEvenBench/flightjs-example-app/components/jquery/component.json: Added.
568 * DoYouEvenBench/flightjs-example-app/components/jquery/composer.json: Added.
569 * DoYouEvenBench/flightjs-example-app/components/jquery/jquery.js: Added.
570 * DoYouEvenBench/flightjs-example-app/components/jquery/jquery.min.js: Added.
571 * DoYouEvenBench/flightjs-example-app/components/mustache: Added.
572 * DoYouEvenBench/flightjs-example-app/components/mustache/mustache.js: Added.
573 * DoYouEvenBench/flightjs-example-app/components/requirejs: Added.
574 * DoYouEvenBench/flightjs-example-app/components/requirejs/require.js: Added.
575 * DoYouEvenBench/flightjs-example-app/index.html: Added.
576 * DoYouEvenBench/flightjs-example-app/karma.conf.js: Added.
577 * DoYouEvenBench/flightjs-example-app/package.json: Added.
578 * DoYouEvenBench/flightjs-example-app/requireMain.js: Added.
580 2013-09-19 Ryosuke Niwa <rniwa@webkit.org>
582 DoYouEvenBench: Indentations in benchmark.js and benchmark.html are all messed up
583 https://bugs.webkit.org/show_bug.cgi?id=121597
585 Reviewed by Anders Carlsson.
589 * DoYouEvenBench/benchmark.html:
590 * DoYouEvenBench/benchmark.js:
591 (SimplePromise.prototype.resolve.else):
592 (SimplePromise.prototype.resolve):
593 (BenchmarkRunner.waitForElement.resolveIfReady):
594 (BenchmarkRunner.waitForElement):
595 (BenchmarkRunner._waitAndWarmUp.Fibonacci):
596 (BenchmarkRunner._finalize):
598 2013-09-19 Ryosuke Niwa <rniwa@webkit.org>
600 Add an AngularJS test to DoYouEvenBench
601 https://bugs.webkit.org/show_bug.cgi?id=121595
603 Reviewed by Antti Koivisto.
605 * DoYouEvenBench/benchmark.html:
606 * DoYouEvenBench/todomvc/architecture-examples/angularjs: Added.
607 * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower.json: Added.
608 * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components: Added.
609 * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular: Added.
610 * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular-mocks: Added.
611 * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular-mocks/angular-mocks.js: Added.
612 * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular/angular.js: Added.
613 * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common: Added.
614 * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.css: Added.
615 * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.js: Added.
616 * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/bg.png: Added.
617 * DoYouEvenBench/todomvc/architecture-examples/angularjs/index.html: Added.
618 * DoYouEvenBench/todomvc/architecture-examples/angularjs/js: Added.
619 * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/app.js: Added.
620 * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/controllers: Added.
621 * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/controllers/todoCtrl.js: Added.
622 * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives: Added.
623 * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoBlur.js: Added.
624 * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoEscape.js: Added.
625 * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoFocus.js: Added.
626 * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/services: Added.
627 * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/services/todoStorage.js: Added.
628 * DoYouEvenBench/todomvc/architecture-examples/angularjs/readme.md: Added.
629 * DoYouEvenBench/todomvc/architecture-examples/angularjs/test: Added.
630 * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/config: Added.
631 * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/config/testacular.conf.js: Added.
632 * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/package.json: Added.
633 * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/readme.md: Added.
634 * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit: Added.
635 * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/directivesSpec.js: Added.
636 * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/todoCtrlSpec.js: Added.
638 2013-09-17 Ryosuke Niwa <rniwa@webkit.org>
640 Add a not completely unrealistic DOM Benchmark
641 https://bugs.webkit.org/show_bug.cgi?id=121361
643 Reviewed by Filip Pizlo.
645 Add a DOM benchmark based on TodoMVC for vanilla JS, Ember.js, Backbone.js, and jQuery.
646 We'll add more frameworks and demo apps as we go.
648 * DoYouEvenBench: Added.
649 * DoYouEvenBench/benchmark.html: Added.
650 * DoYouEvenBench/benchmark.js: Added.
652 (SimplePromise.prototype.then):
653 (SimplePromise.prototype.resolve.else):
654 (SimplePromise.prototype.resolve):
655 (BenchmarkRunner.suite):
656 (BenchmarkRunner.waitForElement.resolveIfReady):
657 (BenchmarkRunner.waitForElement):
658 (BenchmarkRunner._removeFrame):
659 (BenchmarkRunner._appendFrame):
660 (BenchmarkRunner._waitAndWarmUp.Fibonacci):
661 (BenchmarkRunner._testName):
662 (BenchmarkRunner._testItemId):
663 (BenchmarkRunner.listSuites.button.onclick):
664 (BenchmarkRunner.listSuites.callNextStep):
665 (BenchmarkRunner.listSuites):
667 (BenchmarkState.prototype.currentSuite):
668 (BenchmarkState.prototype.currentTest):
669 (BenchmarkState.prototype.next):
670 (BenchmarkState.prototype.isFirstTest):
671 (BenchmarkState.prototype.prepareCurrentSuite.frame.onload):
672 (BenchmarkRunner.step):
673 (BenchmarkRunner._runTestAndRecordResults):
674 (BenchmarkRunner._finalize):
675 * DoYouEvenBench/todomvc: Added.
676 * DoYouEvenBench/todomvc/architecture-examples: Added.
677 * DoYouEvenBench/todomvc/architecture-examples/backbone: Added.
678 * DoYouEvenBench/todomvc/architecture-examples/backbone/bower.json: Added.
679 * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components: Added.
680 * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone: Added.
681 * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage: Added.
682 * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage/backbone.localStorage.js: Added.
683 * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone/backbone.js: Added.
684 * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/jquery: Added.
685 * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/jquery/jquery.js: Added.
686 * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common: Added.
687 * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.css: Added.
688 * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.js: Added.
689 * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/bg.png: Added.
690 * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/underscore: Added.
691 * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/underscore/underscore.js: Added.
692 * DoYouEvenBench/todomvc/architecture-examples/backbone/index.html: Added.
693 * DoYouEvenBench/todomvc/architecture-examples/backbone/js: Added.
694 * DoYouEvenBench/todomvc/architecture-examples/backbone/js/app.js: Added.
695 * DoYouEvenBench/todomvc/architecture-examples/backbone/js/collections: Added.
696 * DoYouEvenBench/todomvc/architecture-examples/backbone/js/collections/todos.js: Added.
697 * DoYouEvenBench/todomvc/architecture-examples/backbone/js/models: Added.
698 * DoYouEvenBench/todomvc/architecture-examples/backbone/js/models/todo.js: Added.
699 * DoYouEvenBench/todomvc/architecture-examples/backbone/js/routers: Added.
700 * DoYouEvenBench/todomvc/architecture-examples/backbone/js/routers/router.js: Added.
701 * DoYouEvenBench/todomvc/architecture-examples/backbone/js/views: Added.
702 * DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/app-view.js: Added.
703 * DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/todo-view.js: Added.
704 * DoYouEvenBench/todomvc/architecture-examples/backbone/readme.md: Added.
705 * DoYouEvenBench/todomvc/architecture-examples/emberjs: Added.
706 * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower.json: Added.
707 * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components: Added.
708 * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember: Added.
709 * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter: Added.
710 * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter/localstorage_adapter.js: Added.
711 * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js: Added.
712 * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/handlebars: Added.
713 * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js: Added.
714 * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/jquery: Added.
715 * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/jquery/jquery.js: Added.
716 * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common: Added.
717 * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css: Added.
718 * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.js: Added.
719 * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/bg.png: Added.
720 * DoYouEvenBench/todomvc/architecture-examples/emberjs/index.html: Added.
721 * DoYouEvenBench/todomvc/architecture-examples/emberjs/js: Added.
722 * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/app.js: Added.
723 * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers: Added.
724 * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todo_controller.js: Added.
725 * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todos_controller.js: Added.
726 * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/libs: Added.
727 * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/libs/ember-data.js: Added.
728 * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models: Added.
729 * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/store.js: Added.
730 * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/todo.js: Added.
731 * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/views: Added.
732 * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/views/edit_todo_view.js: Added.
733 * DoYouEvenBench/todomvc/architecture-examples/emberjs/readme.md: Added.
734 * DoYouEvenBench/todomvc/architecture-examples/emberjs/test.html: Added.
735 * DoYouEvenBench/todomvc/architecture-examples/jquery: Added.
736 * DoYouEvenBench/todomvc/architecture-examples/jquery/bower.json: Added.
737 * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components: Added.
738 * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/handlebars: Added.
739 * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/handlebars/handlebars.js: Added.
740 * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/jquery: Added.
741 * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/jquery/jquery.js: Added.
742 * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common: Added.
743 * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.css: Added.
744 * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.js: Added.
745 * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/bg.png: Added.
746 * DoYouEvenBench/todomvc/architecture-examples/jquery/css: Added.
747 * DoYouEvenBench/todomvc/architecture-examples/jquery/css/app.css: Added.
748 * DoYouEvenBench/todomvc/architecture-examples/jquery/index.html: Added.
749 * DoYouEvenBench/todomvc/architecture-examples/jquery/js: Added.
750 * DoYouEvenBench/todomvc/architecture-examples/jquery/js/app.js: Added.
751 * DoYouEvenBench/todomvc/architecture-examples/jquery/readme.md: Added.
752 * DoYouEvenBench/todomvc/license.md: Added.
753 * DoYouEvenBench/todomvc/readme.md: Added.
754 * DoYouEvenBench/todomvc/vanilla-examples: Added.
755 * DoYouEvenBench/todomvc/vanilla-examples/vanillajs: Added.
756 * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower.json: Added.
757 * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components: Added.
758 * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common: Added.
759 * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.css: Added.
760 * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.js: Added.
761 * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/bg.png: Added.
762 * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/index.html: Added.
763 * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js: Added.
764 * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/app.js: Added.
765 * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/controller.js: Added.
766 * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/helpers.js: Added.
767 * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/model.js: Added.
768 * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/store.js: Added.
769 * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/view.js: Added.
770 * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/readme.md: Added.
773 2013-09-04 Filip Pizlo <fpizlo@apple.com>
775 Introduce a version of SunSpider that runs for a really long time (about 1 sec on my machine)
777 Rubber stamped by Mark Hahnenberg.
779 This isn't meant for serious VM-to-VM performance comparisons, but it is useful
780 to see how these benchmarks behave when they're completely warmed up.
783 * LongSpider/3d-cube.js: Added.
799 * LongSpider/3d-morph.js: Added.
800 (loops.3500.nx.120.nz.120.morph):
801 * LongSpider/3d-raytrace.js: Added.
819 (Triangle.prototype.intersect):
821 (Scene.prototype.intersect):
822 (Scene.prototype.blocked):
824 (Camera.prototype.generateRayPair):
826 (Camera.prototype.render):
827 (raytraceScene.floorShader):
829 (arrayToCanvasCommands):
830 * LongSpider/access-binary-trees.js: Added.
832 (TreeNode.prototype.itemCheck):
834 * LongSpider/access-fannkuch.js: Added.
836 * LongSpider/access-nbody.js: Added.
838 (Body.prototype.offsetMomentum):
845 (NBodySystem.prototype.advance):
846 (NBodySystem.prototype.energy):
847 * LongSpider/access-nsieve.js: Added.
851 * LongSpider/bitops-3bit-bits-in-byte.js: Added.
854 * LongSpider/bitops-bits-in-byte.js: Added.
857 * LongSpider/bitops-nsieve-bits.js: Added.
861 * LongSpider/controlflow-recursive.js: Added.
865 * LongSpider/crypto-aes.js: Added.
877 * LongSpider/crypto-md5.js: Added.
898 * LongSpider/crypto-sha1.js: Added.
916 * LongSpider/date-format-tofte.js: Added.
946 (Date.prototype.formatDate):
947 * LongSpider/date-format-xparb.js: Added.
948 (Date.prototype.dateFormat):
949 (Date.createNewFormat):
950 (Date.getFormatCode):
953 (Date.formatCodeToRegex):
954 (Date.prototype.getTimezone):
955 (Date.prototype.getGMTOffset):
956 (Date.prototype.getDayOfYear):
957 (Date.prototype.getWeekOfYear):
958 (Date.prototype.isLeapYear):
959 (Date.prototype.getFirstDayOfMonth):
960 (Date.prototype.getLastDayOfMonth):
961 (Date.prototype.getDaysInMonth):
962 (Date.prototype.getSuffix):
964 * LongSpider/math-cordic.js: Added.
970 * LongSpider/math-partial-sums.js: Added.
972 * LongSpider/math-spectral-norm.js: Added.
978 * LongSpider/string-base64.js: Added.
981 * LongSpider/string-fasta.js: Added.
986 * LongSpider/string-tagcloud.js: Added.
987 (.Array.prototype.toJSONString):
988 (.Boolean.prototype.toJSONString):
989 (.Date.prototype.toJSONString):
990 (.Number.prototype.toJSONString):
991 (.Object.prototype.toJSONString):
994 2013-06-10 Radu Stavila <stavila@adobe.com>
996 [CSS Regions] Rename region-overflow to region-fragment
997 https://bugs.webkit.org/show_bug.cgi?id=117397
999 Renamed -webkit-region-overflow to -webkit-region-fragment according to the new working draft
1000 at http://www.w3.org/TR/2013/WD-css3-regions-20130528/#the-region-fragment-property
1002 Reviewed by Alexander Pavlov.
1004 * Layout/resources/regions.css:
1006 2013-06-05 Zan Dobersek <zdobersek@igalia.com>
1008 Move MemoryInfo under window.internals
1009 https://bugs.webkit.org/show_bug.cgi?id=117197
1011 Reviewed by Ryosuke Niwa.
1013 * resources/runner.js: Remove the setMemoryEnabled call, it's not required anymore as the memory
1014 info is now accessed through window.internals and doesn't need the setting to be enabled to work.
1016 2013-05-30 Ryosuke Niwa <rniwa@webkit.org>
1018 Web Inspector: tests in PerformanceTests/inspector/ are timing out
1019 https://bugs.webkit.org/show_bug.cgi?id=77024
1021 Reviewed by Andreas Kling.
1023 These tests have been disabled for ages and don't conform to the standard format.
1026 * inspector: Removed.
1027 * inspector/console-300-lines.html: Removed.
1028 * inspector/first-open-elements.html: Removed.
1029 * inspector/first-open-resources.html: Removed.
1030 * inspector/first-open-scripts.html.broken: Removed.
1031 * inspector/heap-snapshot-advanced.html: Removed.
1032 * inspector/heap-snapshot-performance-test.js: Removed.
1033 * inspector/heap-snapshot.html: Removed.
1034 * inspector/inspector-startup-time.html: Removed.
1035 * inspector/network-append-30-requests.html.broken: Removed.
1036 * inspector/performance-test.js: Removed.
1037 * inspector/show-panel.html.broken: Removed.
1039 2013-05-27 Benjamin Poulain <benjamin@webkit.org>
1041 Add a balanced benchmark for QuerySelector
1042 https://bugs.webkit.org/show_bug.cgi?id=116811
1044 Reviewed by Sam Weinig.
1046 The goal of this benchmark is to have an overview of querySelector as typically used
1049 It uses queries similar to what is used by popular websites and applies somewhat
1050 similar weighting for each type of query.
1052 The tree used for the queries is intentionally kept simple to ensure we measure QuerySelector
1053 a not purely the overhead of traversal.
1055 * CSS/QuerySelector.html: Added.
1056 * CSS/resources/query-selector.html: Added.
1058 2013-05-18 Ryosuke Niwa <rniwa@webkit.org>
1060 Add a performance test for copying
1061 https://bugs.webkit.org/show_bug.cgi?id=116394
1063 Reviewed by Andreas Kling.
1065 Added. We're going to skip this test by default since it's such a microbenchmark, and also because
1066 it currently takes 30 minutes to run. As insane as it sounds, each copy takes rouhgly 57 seconds.
1068 Running Interactive/CopyAll.html (1 of 1)
1069 RESULT Interactive: CopyAll: Time= 57618.05 ms
1070 median= 57135.0 ms, stdev= 1542.07271571 ms, min= 55095.0 ms, max= 60913.0 ms
1071 RESULT Interactive: CopyAll: JSHeap= 102811.2 bytes
1072 median= 103272.0 bytes, stdev= 1115.28148913 bytes, min= 100648.0 bytes, max= 103504.0 bytes
1073 RESULT Interactive: CopyAll: Malloc= 446408712.0 bytes
1074 median= 459156772.0 bytes, stdev= 20007346.3266 bytes, min= 415564040.0 bytes, max= 462011928.0 bytes
1075 Finished: 1766.883236 s
1077 * Interactive/CopyAll.html: Added.
1080 2013-05-13 Seokju Kwon <seokju.kwon@gmail.com>
1082 Web Inspector: Get rid of native-memory-snapshot in performance test
1083 https://bugs.webkit.org/show_bug.cgi?id=116013
1085 Reviewed by Andreas Kling.
1087 Remove native-memory-snapshot.html from PerformanceTests.
1089 * inspector/native-memory-snapshot.html: Removed.
1090 * inspector/performance-test.js:
1091 (initialize_TimeTracker.Timer):
1092 (initialize_TimeTracker.Timer.prototype._dump):
1093 (initialize_TimeTracker.InspectorTest.runPerformanceTest):
1095 2013-04-10 Benjamin Poulain <bpoulain@apple.com>
1097 Mass remove all the empty directories
1099 Rubberstamped by Ryosuke Niwa.
1101 * Bindings/resources: Removed.
1103 2013-04-02 Glenn Adams <glenn@skynav.com>
1105 Need japanese line layout performance test
1106 https://bugs.webkit.org/show_bug.cgi?id=113811
1108 Reviewed by Ryosuke Niwa.
1110 Will be used by https://bugs.webkit.org/show_bug.cgi?id=105692 to test potential performance regression
1111 for Japanese (and other CJK) line break changes.
1113 * Layout/LineLayoutJapanese.html: Added.
1114 * Skipped: Skip this test by default.
1116 2013-03-29 Andrei Bucur <abucur@adobe.com>
1118 [CSS Regions] Add performance tests
1119 https://bugs.webkit.org/show_bug.cgi?id=113303
1121 Reviewed by Antti Koivisto.
1123 Add simple performance tests for regions, without nested named flows: a region chain and a flow article.
1124 The regions.js script is used to generate the tests and can set the following parameters: the number of regions,
1125 the number of paragraphs, the regions width, height, max-height and the propability of a forced break after a paragraph.
1127 The tests are skipped for now. They should be enabled once the regions performance is stable enough to create a baseline.
1129 * Layout/RegionsAuto.html: Added. A few regions with a short article. The regions have auto-height and some
1130 paragraphs (80%) have forced breaks after. Stress test for the auto-height algorithm.
1131 * Layout/RegionsAutoMaxHeight.html: Added. A lot of regions with auto-height and max-height. Tests the impact of
1132 max-height on the auto-height algorithm.
1133 * Layout/RegionsFixed.html: Added. A lot of regions with a long article. Some paragraphs (50%) have forced breaks after.
1134 Stress test for the regions layout algorithm.
1135 * Layout/RegionsFixedShort.html: Added. A lot of short regions with a long content. Tests the impact of unforced breaks
1136 on the layout speed.
1137 * Layout/resources/regions.css: Added.
1141 (.contentParagraph):
1144 * Layout/resources/regions.js: Added.
1148 2013-03-26 Ryosuke Niwa <rniwa@webkit.org>
1150 Add a performance tests for selecting all content in a document
1151 https://bugs.webkit.org/show_bug.cgi?id=113358
1153 Reviewed by Levi Weintraub.
1155 Add a performance test for selecting all. We wait for paint to happen by setTimeout(~, 0).
1158 RESULT Interactive: SelectAll: Time= 652.6 ms
1159 median= 644.5 ms, stdev= 54.6177144967 ms, min= 599.0 ms, max= 773.0 ms
1161 RESULT Interactive: SelectAll: Time= 654.4 ms
1162 median= 633.5 ms, stdev= 55.9223145368 ms, min= 600.0 ms, max= 769.0 ms
1164 RESULT Interactive: SelectAll: Time= 657.9 ms
1165 median= 640.0 ms, stdev= 54.1420159833 ms, min= 604.0 ms, max= 774.0 ms
1167 * Interactive/SelectAll.html: Added.
1170 2013-03-19 Alexei Filippov <alph@chromium.org>
1172 Web Inspector: Fix heap profiler performance tests.
1173 https://bugs.webkit.org/show_bug.cgi?id=112701
1175 Reviewed by Yury Semikhatsky.
1177 The tests were broken by profile types refactoring.
1179 * inspector/heap-snapshot-performance-test.js:
1180 (test.performanceTest.step0):
1181 (test.performanceTest.step1):
1183 2013-03-05 Eric Seidel <eric@webkit.org>
1185 Add html-parser-threaded perf test now that the threaded parser is enabled by default
1186 https://bugs.webkit.org/show_bug.cgi?id=111200
1188 Reviewed by Ryosuke Niwa.
1190 The old srcdoc test no longer triggers the threaded parser due to compatibility fixes.
1192 * Parser/html-parser-threaded.html: Renamed from PerformanceTests/Parser/html-parser-srcdoc.html.
1193 * Skipped: Unfortunately this new test is still skipped too.
1195 2013-03-04 Eric Seidel <eric@webkit.org>
1197 Add PerformanceTest for document startup via iframe append/remove
1198 https://bugs.webkit.org/show_bug.cgi?id=111389
1200 Reviewed by Kentaro Hara.
1202 We'd like pages with lots of iframes to be fast.
1203 This test shows that at least for V8/Chromium we spend
1204 all our time booting v8.
1206 On my 32-core linux machine I see about 70 runs/sec in
1207 Release and 5 runs/sec in Debug.
1209 * DOM/iframe-append-remove.html: Added.
1211 2013-03-03 Ryosuke Niwa <rniwa@webkit.org>
1213 Some perf. tests have variances that differ greatly between runs
1214 https://bugs.webkit.org/show_bug.cgi?id=97510
1216 Reviewed by Benjamin Poulain.
1218 In order to control the number of iterations and processes to use from run-perf-tests, always use 20
1219 iterations on all tests except Dromaeo, where even doing 5 iterations is prohibitively slow, by default.
1220 Without this change, it'll become extremely hard for us to tweak the number of iterations and processes
1221 to use from run-perf-tests.
1223 * Animation/balls.html:
1224 * DOM/DOMTable.html:
1225 * DOM/resources/dom-perf.js:
1226 (runBenchmarkSuite.PerfTestRunner.measureTime):
1227 * Dromaeo/resources/dromaeorunner.js:
1228 * Layout/floats_100_100.html:
1229 * Layout/floats_100_100_nested.html:
1230 * Layout/floats_20_100.html:
1231 * Layout/floats_20_100_nested.html:
1232 * Layout/floats_2_100.html:
1233 * Layout/floats_2_100_nested.html:
1234 * Layout/floats_50_100.html:
1235 * Layout/floats_50_100_nested.html:
1236 * Layout/subtree-detaching.html:
1237 * Parser/html5-full-render.html:
1238 * SVG/SvgHitTesting.html:
1239 * resources/runner.js:
1240 * resources/results-template.html:
1242 2013-02-25 Ryosuke Niwa <rniwa@webkit.org>
1244 Use perf.webkit.org JSON format in results page
1245 https://bugs.webkit.org/show_bug.cgi?id=110842
1247 Reviewed by Benjamin Poulain.
1249 Updated the results page template to use the new JSON format.
1251 Since new JSON format doesn't contain statistics such as stdev and min, added statistics.js to compute
1252 these values. Also use 95% percentile confidence interval instead of standard deviation in various places.
1254 * resources/results-template.html: Added statistics.js as dependency.
1255 (TestResult): Updated to take a metric instead of its test. Replaced stdev() with confidenceIntervalDelta()
1256 now that we have a fancy Statistics class.
1258 (TestRun.webkitRevision):
1259 (PerfTestMetric): Renamed from PerfTest since this object now encapsulates each measurement (such as time,
1260 JS heap, and malloc) in test. Also added a conversion table from a metric name to a unit since new format
1261 doesn't contain units.
1262 (PerfTestMetric.name): Updated to compute the full metric name from test name and metric name, matching
1264 (PerfTestMetric.isMemoryTest): Explicitly look for 'JSHeap' and 'Malloc' tests.
1265 (PerfTestMetric.smallerIsBetter):
1267 (attachPlot): Deleted the code to deal with tests that don't provide individual iteration measurement
1268 since such tests no longer exist. Also fixed up the code compute y-axis range.
1270 (createTableRow.markupForRun): Updated to use confidenceIntervalDelta() instead of stdev().
1272 (init.addTests): Added. Recursively add metrics.
1274 * resources/statistics.js: Added. Imported from perf.webkit.org.
1278 (Statistics.squareSum):
1279 (Statistics.sampleStandardDeviation):
1280 (Statistics.supportedConfidenceLevels):
1281 (Statistics.confidenceIntervalDelta):
1282 (Statistics.confidenceInterval):
1284 2013-02-11 Alexei Filippov <alph@chromium.org>
1286 Web Inspector: Split Profiler domain in protocol into Profiler and HeapProfiler
1287 https://bugs.webkit.org/show_bug.cgi?id=108653
1289 Reviewed by Yury Semikhatsky.
1291 Currently CPU and heap profilers share the same domain 'Profiler' in the protocol.
1292 In fact these two profile types have not too much in common. So put each into its own domain.
1293 It should also help when Profiles panel gets split into several tools.
1294 This is the phase 1 which adds InspectorHeapProfilerAgent but doesn't
1295 change the original InspectorProfilerAgent.
1297 * inspector/heap-snapshot-performance-test.js:
1298 (test.performanceTest.cleanup):
1300 2013-02-05 Dominik Röttsches <dominik.rottsches@intel.com>
1302 Add a performance test for arabic line breaking
1303 https://bugs.webkit.org/show_bug.cgi?id=108948
1305 Reviewed by Eric Seidel.
1307 Adding a perfomance test based to exercise the complex
1308 font path used in rendering arabic script.
1310 * Layout/ArabicLineLayout.html: Added.
1311 * Skipped: New test skipped by default as per Ryosuke's request.
1313 2013-01-23 Yury Semikhatsky <yurys@chromium.org>
1315 Web Inspector: some measurements are missing in PerformanceTests/inspector/heap-*.html
1316 https://bugs.webkit.org/show_bug.cgi?id=107687
1318 Reviewed by Pavel Feldman.
1320 * inspector/heap-snapshot-performance-test.js: override methods on JSHeapSnapshot instead
1321 of HeapSnapshot, otherwise overrides from JSHeapSnapshot will rule.
1323 2013-01-18 Ryosuke Niwa <rniwa@webkit.org>
1325 Skip DOM/TraverseChildNodes.html as intended in r140070.
1329 2013-01-17 Dominic Cooney <dominicc@chromium.org>
1331 Unreviewed, re-land r140051.
1333 I overzealously rolled this out; the test was intended to be
1334 skipped, but was not skipped because of a typo in Skipped. See
1335 <https://bugs.webkit.org/show_bug.cgi?id=107210>
1337 * Parser/html-parser-srcdoc.html: Added.
1338 * Skipped: Big-P Parser.
1340 2013-01-17 Sheriff Bot <webkit.review.bot@gmail.com>
1342 Unreviewed, rolling out r140051.
1343 http://trac.webkit.org/changeset/140051
1344 https://bugs.webkit.org/show_bug.cgi?id=107210
1346 html-parser-srcdoc.html failing on Chromium Linux Perf and
1347 Chromium Mac Perf with a lot of error spew about blocked
1348 script execution in 'about:srcdoc' (Requested by dominicc on
1351 * Parser/html-parser-srcdoc.html: Removed.
1354 2013-01-16 Ryosuke Niwa <rniwa@webkit.org>
1356 Remove NodeListsNodeData when it's no longer needed
1357 https://bugs.webkit.org/show_bug.cgi?id=107074
1359 Reviewed by Darin Adler.
1361 Added a micro benchmark to see the benefit of removing NodeListsNodeData.
1362 The test traverses all elements in the html5 specification page and accesses childNodes.
1364 Don't enable this test for now since it's really a micro benchmark specifically
1365 designed to test this patch.
1367 * DOM/TraverseChildNodes.html: Added.
1368 * Skipped: Don't enable newly added test by default.
1369 * resources/results-template.html: Compare against the unscaled unit (e.g. "bytes") as
1370 opposed to scaled units such as "K bytes".
1371 * resources/runner.js:
1372 (.start): Moved the code to call currentTest.setup from measureRunsPerSecondOnce so that
1373 it'll be ran for all test types, namely of PerfTestRunner.measureTime.
1374 (.measureRunsPerSecondOnce):
1376 2013-01-17 Eric Seidel <eric@webkit.org>
1378 Add a version of the html-parser benchmark which uses srcdoc instead of document.write so it tests the threaded parser
1379 https://bugs.webkit.org/show_bug.cgi?id=107158
1381 Reviewed by Ryosuke Niwa.
1383 Currently this test even opts-in to the threaded parser if available.
1384 We'll remove that line when the threaded parser becomes default or goes away.
1386 * Parser/html-parser-srcdoc.html: Added.
1388 2013-01-16 Arnaud Renevier <a.renevier@sisa.samsung.com>
1390 inconsistency in drawImage with target rect negative dimensions.
1391 https://bugs.webkit.org/show_bug.cgi?id=100026
1393 Reviewed by Dean Jackson.
1395 Create a drawImage performance test. There is no significative change
1396 in performance: 27144.6851528 runs/s without the patch; 27153.517612
1397 runs/s with the patch. Test is currently skipped.
1399 * Canvas/drawimage.html: Added.
1402 2013-01-15 Dominic Cooney <dominicc@chromium.org>
1404 Allow zero values as results from the runFunction.
1405 https://bugs.webkit.org/show_bug.cgi?id=102500
1407 Reviewed by Kentaro Hara.
1409 DOM/DOMWalk.js fails on the Chromium Win perf bot because one or
1410 more parts of the test usually return zero at some point.
1412 * resources/runner.js: Accept merely non-negative results.
1414 2012-12-28 Yury Semikhatsky <yurys@chromium.org>
1416 Web Inspector: rename distanceToWindow to distance
1417 https://bugs.webkit.org/show_bug.cgi?id=105823
1419 Reviewed by Pavel Feldman.
1421 Updated heap profiler performance test after renaming distanceToWindow to distance.
1423 * inspector/heap-snapshot-performance-test.js:
1425 2012-12-18 Hayato Ito <hayato@chromium.org>
1427 Use element.webkitCreateShadowRoot instead of WebKitShadowRoot in PerformanceTests.
1428 https://bugs.webkit.org/show_bug.cgi?id=105256
1430 Reviewed by Dimitri Glazkov.
1432 WebKitShadowRoot constructor was deleted in favor of element.webkitCreateShadowRoot().
1434 * ShadowDOM/ChangingClassNameShadowDOM.html:
1435 * ShadowDOM/ChangingSelect.html:
1436 * ShadowDOM/ContentReprojection.html:
1437 * ShadowDOM/DistributionWithMultipleShadowRoots.html:
1438 * ShadowDOM/LargeDistributionWithLayout.html:
1439 * ShadowDOM/MultipleInsertionPoints.html:
1440 * ShadowDOM/ShadowReprojection.html:
1441 * ShadowDOM/SmallDistributionWithLayout.html:
1443 2012-12-17 Shinya Kawanaka <shinyak@chromium.org>
1445 [Shadow] LargeDistributionWithLayout.html should be updated
1446 https://bugs.webkit.org/show_bug.cgi?id=105242
1448 Reviewed by Ryosuke Niwa.
1450 Since this test was written when distribution took O(N^2). However, now it's almost O(N), so this test finishes
1451 in very short time. We should convert it unit to runs/s.
1453 This test contains a some error to cause test failure, e.g. using obsolete API, so they also should be fixed.
1455 * ShadowDOM/LargeDistributionWithLayout.html:
1457 2012-12-13 Ryosuke Niwa <rniwa@webkit.org>
1459 [chromium perf] DOM/DOMWalk.html failures
1460 https://bugs.webkit.org/show_bug.cgi?id=104866
1462 Reviewed by Eric Seidel.
1464 Use PerfTestRunner.now which in turn uses window.performance.now() when it's available.
1466 * DOM/resources/dom-perf.js:
1469 (BenchmarkSuite.prototype.RunSingle):
1471 2012-12-05 Shinya Kawanaka <shinyak@chromium.org>
1473 [Shadow] Performance tests for ShadowDOM distribution
1474 https://bugs.webkit.org/show_bug.cgi?id=103617
1476 Reviewed by Dimitri Glazkov.
1478 We would like to measure ShadowDOM distribution performance in various cases.
1479 In this patch, we add performance tests for several distribution patterns.
1481 * ShadowDOM/ContentReprojection.html: Added.
1482 * ShadowDOM/DistributionWithMultipleShadowRoots.html: Added.
1483 * ShadowDOM/LargeDistributionWithLayout.html: Added.
1484 * ShadowDOM/MultipleInsertionPoints.html: Added.
1485 * ShadowDOM/ShadowReprojection.html: Added.
1486 * ShadowDOM/SmallDistributionWithLayout.html: Added.
1488 2012-12-05 Shinya Kawanaka <shinyak@chromium.org>
1490 [Shadow] Performance tests of distribution for changing className
1491 https://bugs.webkit.org/show_bug.cgi?id=103612
1493 Reviewed by Dimitri Glazkov.
1495 We would like to measure ShadowDOM performance and compare it to the similar functional HTML without using ShadowDOM.
1496 In this patch, we add a case when classNames of distributed elemeents are changed.
1498 * ShadowDOM/ChangingClassName.html: Added.
1499 * ShadowDOM/ChangingClassNameShadowDOM.html: Added.
1501 2012-12-03 Ryosuke Niwa <rniwa@webkit.org>
1503 Dromaeo should report individual test result
1504 https://bugs.webkit.org/show_bug.cgi?id=99800
1506 Reviewed by Eric Seidel.
1508 Made one small modification to Droameo's webrunner.js so that it reports individual runs/s values
1509 for each subtest. This allows us to compute the aggregated run/s for each iteration like other
1512 Also stop measuring memory usage in Dromaeo tests because some Dromaeo tests (e.g. jslib-modify-jquery)
1513 have unrealistic memory usage, and measuring them at the time of teardown doesn't make much sense.
1515 * Animation/balls.html: Fixed typo: measureValueAync.
1516 * Dromaeo/resources/dromaeo/web/webrunner.js:
1518 * Dromaeo/resources/dromaeorunner.js:
1519 (DRT.setup): Call prepareToMeasureValuesAsync so that DRT.teardown can use meausreValueAsync, and log
1520 "Running 5 times". Since the log container will be inserted before iframe, we need to explicitly insert
1521 the iframe as the first child of the body element to avoid logs from affecting the iframe's position.
1522 Also specify the number of iterations by calling PerfTestRunner.iterationCount() so that we may adjust
1523 the number of iterations in PerfTestRunner.
1525 (DRT.progress): Log individual measurement for each subtest.
1526 (DRT.teardown): Compute the aggregated result for each iteration, and log them using measureValueAsync.
1528 * resources/runner.js:
1529 (PerfTestRunner.logStatistics): Merged printStatistics since it's no longer needed after r131638.
1530 (PerfTestRunner): Removed getAndPrintMemoryStatistics since it was used only in Dromaeo tests but
1531 we no longer measure memory usage in Dromaeo tests.
1533 (start): Increment completedRuns from -1 to 0 for Dromaeo tests where we don't want to ignore the initial
1534 measurement. Note that ignoreWarmUpAndLog ignores the measurements for which completedRuns is negative.
1536 (ignoreWarmUpAndLog): We don't measure memory usage in Dromaeo tests. See above.
1537 (PerfTestRunner.iterationCount): Added. This abstraction allows us to auto-adjust the number of iterations from
1538 run-perf-tests in near future.
1539 (PerfTestRunner.measureValueAsync): Renamed from measureValueAync.
1541 2012-11-29 Shinya Kawanaka <shinyak@chromium.org>
1543 [Shadow] Performance tests of distribution for changing select attribute
1544 https://bugs.webkit.org/show_bug.cgi?id=103611
1546 Reviewed by Hajime Morita.
1548 We would like to measure ShadowDOM performance and compare it to the similar functional HTML without using ShadowDOM.
1549 In this patch, we add a case when select attribute of HTMLContentElement is changed.
1551 * ShadowDOM/ChangingSelect.html: Added.
1552 * ShadowDOM/ChangingSelectWithoutShadow.html: Added.
1555 2012-11-19 Shinya Kawanaka <shinyak@chromium.org>
1557 Changing id, className, or attribute should invalidate distribution
1558 https://bugs.webkit.org/show_bug.cgi?id=100738
1560 Reviewed by Dimitri Glazkov.
1562 Added test code to modify id/class/attribute.
1564 * DOM/ModifyAttribute.html: Added.
1565 * DOM/resources/dom-perf/modify-attribute.js: Added.
1566 (ModifyAttribute.CreateElementToSetUp):
1567 (ModifyAttribute.ModifyId):
1568 (ModifyAttribute.ModifyClass):
1569 (ModifyAttribute.ModifyTitle):
1571 2012-11-14 Ryosuke Niwa <rniwa@webkit.org>
1573 runCount in runner.js should be renamed to iterationCount
1574 https://bugs.webkit.org/show_bug.cgi?id=102208
1576 Reviewed by Tony Chang.
1578 Prior to this patch, there were terminology confusions between "runs" and "iterations".
1579 The term "run" should refer to running a performance test once, and "iteration" should
1580 refer to one measurement in the test. i.e. Executing run-perf-should once will result in
1581 a single "run" of performance tests and each test may execute multiple "iterations"
1582 to complete the run.
1584 Unfortunately, we still overload the meaning of "runs" in "runs/s" (is "function calls/s")
1585 but that could be addressed in a separate patch.
1587 * Animation/balls.html:
1588 * DOM/DOMTable.html:
1589 * DOM/resources/dom-perf.js:
1590 * Layout/floats_100_100.html:
1591 * Layout/floats_100_100_nested.html:
1592 * Layout/floats_20_100.html:
1593 * Layout/floats_20_100_nested.html:
1594 * Layout/floats_2_100.html:
1595 * Layout/floats_2_100_nested.html:
1596 * Layout/floats_50_100.html:
1597 * Layout/floats_50_100_nested.html:
1598 * Layout/subtree-detaching.html:
1599 * Parser/html5-full-render.html:
1600 * SVG/SvgHitTesting.html:
1601 * resources/runner.js:
1603 2012-11-13 Dimitri Glazkov <dglazkov@chromium.org>
1605 Unreviewed, rolling out r134367.
1606 http://trac.webkit.org/changeset/134367
1607 https://bugs.webkit.org/show_bug.cgi?id=100738
1609 Speculative rollout, could have cause Dromaeo setAttribute
1612 * DOM/ModifyAttribute.html: Removed.
1613 * DOM/resources/dom-perf/modify-attribute.js: Removed.
1615 2012-11-12 Shinya Kawanaka <shinyak@chromium.org>
1617 Changing id, className, or attribute should invalidate distribution
1618 https://bugs.webkit.org/show_bug.cgi?id=100738
1620 Reviewed by Dimitri Glazkov.
1622 Added test code to modify id/class/attribute.
1624 * DOM/ModifyAttribute.html: Added.
1625 * DOM/resources/dom-perf/modify-attribute.js: Added.
1626 (ModifyAttribute.CreateElementToSetUp):
1627 (ModifyAttribute.ModifyId):
1628 (ModifyAttribute.ModifyClass):
1629 (ModifyAttribute.ModifyTitle):
1631 2012-11-06 Adam Barth <abarth@webkit.org>
1633 DOMImplementation should use ScriptWrappable
1634 https://bugs.webkit.org/show_bug.cgi?id=101279
1636 Reviewed by Eric Seidel.
1638 This simple PerformanceTest measure how quickly we can access
1639 document.implementation. The goal of this performance test is just to
1640 validate that using ScriptWrappable actually makes the bindings faster.
1642 * Bindings/document-implementation.html: Added.
1644 2012-11-05 Geoffrey Garen <ggaren@apple.com>
1646 WebKit should have performance tests for book chapter reflow
1647 https://bugs.webkit.org/show_bug.cgi?id=101271
1649 Reviewed by Dan Bernstein.
1651 I grabbed a book chapter from the Project Gutenberg front page:
1653 * Layout/chapter-reflow-once.html: Added.
1654 * Layout/chapter-reflow-thrice.html: Added.
1655 * Layout/chapter-reflow-twice.html: Added.
1656 * Layout/chapter-reflow.html: Added.
1658 I also created a torture-test random text generator:
1660 * Layout/chapter-reflow-once-random.html: Added.
1662 2012-10-29 Zoltan Horvath <zoltan@webkit.org>
1664 Turn PageLoad tests into simple performancetests, commit #7 (last)
1665 https://bugs.webkit.org/show_bug.cgi?id=99899
1667 Reviewed by Ryosuke Niwa.
1669 We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1670 performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1671 to their new location and adds html/js wrappers for them.
1673 This is the #7 (last) commit of the whole patch.
1675 * PageLoad: Removed.
1676 * PageLoad/svg: Removed.
1677 * PageLoad/svg/LICENSES: Removed.
1678 * PageLoad/svg/files: Removed.
1679 * PageLoad/svg/files/33041-Samurai.svg: Removed.
1680 * PageLoad/svg/files/42450-under the see.svg: Removed.
1681 * PageLoad/svg/files/world-iso.svg: Removed.
1682 * PageLoad/svg/svg.pltsuite: Removed.
1683 * SVG/Samurai.html: Added.
1684 * SVG/UnderTheSee.html: Added.
1685 * SVG/WorldIso.html: Added.
1686 * SVG/resources/LICENSES: Copied from PerformanceTests/PageLoad/svg/LICENSES.
1687 * SVG/resources/Samurai.svg: Copied from PerformanceTests/PageLoad/svg/files/33041-Samurai.svg.
1688 * SVG/resources/UnderTheSee.svg: Copied from PerformanceTests/PageLoad/svg/files/42450-under%20the%20see.svg.
1689 * SVG/resources/WorldIso.svg: Copied from PerformanceTests/PageLoad/svg/files/world-iso.svg.
1690 * SVG/resources/svg.pltsuite: Copied from PerformanceTests/PageLoad/svg/svg.pltsuite.
1691 * Skipped: Rename the files on the skipped list also.
1693 2012-10-26 Eric Seidel <eric@webkit.org>
1695 Add a microbenchmark for Hindi (complex-text) line-layout
1696 https://bugs.webkit.org/show_bug.cgi?id=100024
1698 Reviewed by Ryosuke Niwa.
1700 I wrote this to make sure that we don't regress line-breaking performance
1701 for the complex-text codepath. This test has shown me that TOT is
1702 already 5% slower than Safari 6.0.1 here. :(
1704 * Layout/hindi-line-layout.html: Added.
1706 2012-10-26 Zoltan Horvath <zoltan@webkit.org>
1708 Turn PageLoad tests into simple performancetests, commit #6
1709 https://bugs.webkit.org/show_bug.cgi?id=99899
1711 Reviewed by Ryosuke Niwa.
1713 We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1714 performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1715 to their new location and adds html/js wrappers for them.
1717 This is the #6 commit of the whole patch.
1719 * PageLoad/svg/files/gearflowers.svg: Removed.
1720 * PageLoad/svg/files/hereGear4.svg: Removed.
1721 * PageLoad/svg/files/worldcup.svg: Removed.
1722 * SVG/GearFlowers.html: Added.
1723 * SVG/HereGear.html: Added.
1724 * SVG/Worldcup.html: Added.
1725 * SVG/resources/GearFlowers.svg: Copied from PerformanceTests/PageLoad/svg/files/gearflowers.svg.
1726 * SVG/resources/HereGear.svg: Copied from PerformanceTests/PageLoad/svg/files/hereGear4.svg.
1727 * SVG/resources/Worldcup.svg: Copied from PerformanceTests/PageLoad/svg/files/worldcup.svg.
1728 * Skipped: Rename the files on the skipped list also.
1730 2012-10-26 Zoltan Horvath <zoltan@webkit.org>
1732 Turn PageLoad tests into simple performancetests, commit #5
1733 https://bugs.webkit.org/show_bug.cgi?id=99899
1735 Reviewed by Ryosuke Niwa.
1737 We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1738 performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1739 to their new location and adds html/js wrappers for them.
1741 This is the #5 commit of the whole patch.
1743 * PageLoad/svg/files/Harvey_Rayner.svg: Removed.
1744 * PageLoad/svg/files/Sierpinski_carpet_6.svg: Removed.
1745 * PageLoad/svg/files/mtsthelens.svg: Removed.
1746 * PageLoad/svg/files/mtsthelens0.jpg: Removed.
1747 * SVG/HarveyRayner.html: Added.
1748 * SVG/MtSaintHelens.html: Added.
1749 * SVG/SierpinskiCarpet.html: Added.
1750 * SVG/resources/HarveyRayner.svg: Copied from PerformanceTests/PageLoad/svg/files/Harvey_Rayner.svg.
1751 * SVG/resources/MtSaintHelens.svg: Copied from PerformanceTests/PageLoad/svg/files/mtsthelens.svg.
1752 * SVG/resources/SierpinskiCarpet.svg: Copied from PerformanceTests/PageLoad/svg/files/Sierpinski_carpet_6.svg.
1753 * SVG/resources/mtsthelens0.jpg: Copied from PerformanceTests/PageLoad/svg/files/mtsthelens0.jpg.
1754 * Skipped: Rename the files on the skipped list also.
1756 2012-10-25 Zoltan Horvath <zoltan@webkit.org>
1758 Turn PageLoad tests into simple performancetests, commit #4
1759 https://bugs.webkit.org/show_bug.cgi?id=99899
1761 Reviewed by Ryosuke Niwa.
1763 We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1764 performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1765 to their new location and adds html/js wrappers for them.
1767 This is the #4 commit of the whole patch.
1769 * PageLoad/svg/files/france.svg: Removed.
1770 * PageLoad/svg/files/francobollo_gnome_ezechi_02.svg: Removed.
1771 * SVG/France.html: Added.
1772 * SVG/FrancoBolloGnomeEzechi.html: Added.
1773 * SVG/resources/France.svg: Copied from PerformanceTests/PageLoad/svg/files/france.svg.
1774 * SVG/resources/FrancoBolloGnomeEzechi.svg: Copied from PerformanceTests/PageLoad/svg/files/francobollo_gnome_ezechi_02.svg.
1775 * Skipped: Rename the files on the skipped list also.
1777 2012-10-25 Zoltan Horvath <zoltan@webkit.org>
1779 Turn PageLoad tests into simple performancetests, commit #3
1780 https://bugs.webkit.org/show_bug.cgi?id=99899
1782 Reviewed by Ryosuke Niwa.
1784 We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1785 performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1786 to their new location and adds html/js wrappers for them.
1788 This is the #3 commit of the whole patch.
1790 * PageLoad/svg/files/42470-flower_from_my_garden_v2.svg: Removed.
1791 * PageLoad/svg/files/44057-drops on a blade.svg: Removed.
1792 * PageLoad/svg/files/deb9frac1.svg: Removed.
1793 * PageLoad/svg/files/food_leif_lodahl_01.svg: Removed.
1794 * SVG/Debian.html: Added.
1795 * SVG/DropsOnABlade.html: Added.
1796 * SVG/FlowerFromMyGarden.html: Added.
1797 * SVG/FoodLeifLodahl.html: Added.
1798 * SVG/resources/Debian.svg: Copied from PerformanceTests/PageLoad/svg/files/deb9frac1.svg.
1799 * SVG/resources/DropsOnABlade.svg: Copied from PerformanceTests/PageLoad/svg/files/44057-drops%20on%20a%20blade.svg.
1800 * SVG/resources/FlowerFromMyGarden.svg: Copied from PerformanceTests/PageLoad/svg/files/42470-flower_from_my_garden_v2.svg.
1801 * SVG/resources/FoodLeifLodahl.svg: Copied from PerformanceTests/PageLoad/svg/files/food_leif_lodahl_01.svg.
1803 2012-10-24 Zoltan Horvath <zoltan@webkit.org>
1805 Turn PageLoad tests into simple performancetests, commit #2
1806 https://bugs.webkit.org/show_bug.cgi?id=99899
1808 Reviewed by Ryosuke Niwa.
1810 We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1811 performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1812 to their new location and adds html/js wrappers for them.
1814 This is the #2 commit of the whole patch.
1816 * PageLoad/svg/files/cacuts_01.svg: Removed.
1817 * PageLoad/svg/files/cowboy.svg: Removed.
1818 * PageLoad/svg/files/crawfish2_ganson.svg: Removed.
1819 * SVG/Cactus.html: Added.
1820 * SVG/Cowboy.html: Added.
1821 * SVG/CrawFishGanson.html: Added.
1822 * SVG/resources/Cactus.svg: Copied from PerformanceTests/PageLoad/svg/files/cacuts_01.svg.
1823 * SVG/resources/Cowboy.svg: Copied from PerformanceTests/PageLoad/svg/files/cowboy.svg.
1824 * SVG/resources/CrawFishGanson.svg: Copied from PerformanceTests/PageLoad/svg/files/crawfish2_ganson.svg.
1825 * Skipped: Remove az-lizard_benji_park_01.svg from the skipped list.
1827 2012-10-24 Zoltan Horvath <zoltan@webkit.org>
1829 Turn PageLoad tests into simple performancetests, commit #1
1830 https://bugs.webkit.org/show_bug.cgi?id=99899
1832 Reviewed by Ryosuke Niwa.
1834 We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
1835 performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
1836 to their new location and adds html/js wrappers for them.
1838 This is the #1 commit of the whole patch.
1840 * PageLoad/svg/files/az-lizard_benji_park_01.svg: Removed.
1841 * PageLoad/svg/files/bamboo_01.svg: Removed.
1842 * SVG/AzLizardBenjiPark.html: Added.
1843 * SVG/Bamboo.html: Added.
1844 * SVG/resources: Added.
1845 * SVG/resources/AzLizardBenjiPark.svg: Copied from PerformanceTests/PageLoad/svg/files/az-lizard_benji_park_01.svg.
1846 * SVG/resources/Bamboo.svg: Copied from PerformanceTests/PageLoad/svg/files/bamboo_01.svg.
1848 2012-10-24 Zoltan Horvath <zoltan@webkit.org>
1850 REGRESSION(r131982): Skip SVG/SvgNestedUse.html performancetest since it is crashing
1851 https://bugs.webkit.org/show_bug.cgi?id=100262
1855 Skip until proper fix.
1857 * Skipped: Add SVG/SvgNestedUse.html
1859 2012-10-23 Zoltan Horvath <zoltan@webkit.org>
1861 Store the loaded file locally in measurePageLoadTime
1862 https://bugs.webkit.org/show_bug.cgi?id=100172
1864 Reviewed by Csaba Osztrogonác.
1866 Store the loaded file as a local variable instead of attaching it to the test object.
1867 Handle chunkSize inside test.run.
1869 * resources/runner.js:
1872 2012-10-23 Zoltan Horvath <zoltan@webkit.org>
1874 Add measurePageLoadTime function to PerfTestRunner
1875 https://bugs.webkit.org/show_bug.cgi?id=100029
1877 Reviewed by Ryosuke Niwa.
1879 Adopt chunk based loading logic from html5-full-render.html into measurePageLoadTime function,
1880 this is needed to measure the performance and the memory consumption of the PageLoadTests as
1881 we do it for all other performancetests.
1883 * Parser/html5-full-render.html: Move the behavior to runner.js.
1884 * resources/runner.js:
1885 (.): Add measurePageLoadTime function.
1887 2012-10-22 Adam Barth <abarth@webkit.org>
1889 [V8] Vastly simplify V8GCController's NodeVisitor
1890 https://bugs.webkit.org/show_bug.cgi?id=99884
1892 Reviewed by Kentaro Hara.
1894 Adds some performance tests for the garbage collector.
1896 * Bindings/gc-forest.html: Added.
1897 * Bindings/gc-mini-tree.html: Added.
1898 * Bindings/gc-tree.html: Added.
1900 2012-10-17 Ryosuke Niwa <rniwa@webkit.org>
1902 Bump up the number of iterations of html5-full-render to 5
1903 https://bugs.webkit.org/show_bug.cgi?id=99657
1905 Reviewed by Andreas Kling.
1907 Now that html5-full-render.html runs in less than 15 seconds after r131553,
1908 we can afford to get 5 instead of 2 samples.
1910 * Parser/html5-full-render.html:
1912 2012-10-17 Ryosuke Niwa <rniwa@webkit.org>
1914 Rename PerfTestRunner.runPerSecond to PerfTestRunner.measureRunsPerSecond for consistency
1915 https://bugs.webkit.org/show_bug.cgi?id=99642
1917 Reviewed by Dirk Pranke.
1921 * Bindings/append-child.html:
1922 * Bindings/create-element.html:
1923 * Bindings/event-target-wrapper.html:
1924 * Bindings/first-child.html:
1925 * Bindings/get-attribute.html:
1926 * Bindings/get-element-by-id.html:
1927 * Bindings/get-elements-by-tag-name.html:
1928 * Bindings/id-getter.html:
1929 * Bindings/id-setter.html:
1930 * Bindings/insert-before.html:
1931 * Bindings/node-list-access.html:
1932 * Bindings/scroll-top.html:
1933 * Bindings/set-attribute.html:
1934 * Bindings/typed-array-construct-from-array.html:
1935 * Bindings/typed-array-construct-from-same-type.html:
1936 * Bindings/typed-array-construct-from-typed.html:
1937 * Bindings/typed-array-set-from-typed.html:
1938 * Bindings/undefined-first-child.html:
1939 * Bindings/undefined-get-element-by-id.html:
1940 * Bindings/undefined-id-getter.html:
1941 * CSS/CSSPropertySetterGetter.html:
1942 * CSS/CSSPropertyUpdateValue.html:
1943 * CSS/PseudoClassSelectors.html:
1944 * DOM/textarea-dom.html:
1945 * DOM/textarea-edit.html:
1946 * Interactive/resources/window-resize.js:
1947 * Layout/flexbox-column-nowrap.html:
1948 * Layout/flexbox-column-wrap.html:
1949 * Layout/flexbox-row-nowrap.html:
1950 * Layout/flexbox-row-wrap.html:
1951 * Layout/line-layout.html:
1952 * Parser/css-parser-yui.html:
1953 * Parser/innerHTML-setter.html:
1954 * Parser/query-selector-deep.html:
1955 * Parser/query-selector-first.html:
1956 * Parser/query-selector-last.html:
1957 * Parser/simple-url.html:
1958 * Parser/textarea-parsing.html:
1959 * Parser/tiny-innerHTML.html:
1960 * Parser/url-parser.html:
1961 * Parser/xml-parser.html:
1962 * SVG/SvgNestedUse.html:
1963 * resources/runner.js:
1965 2012-10-17 Ryosuke Niwa <rniwa@webkit.org>
1967 Performance test should support asynchronous tests
1968 https://bugs.webkit.org/show_bug.cgi?id=95668
1970 Reviewed by Dirk Pranke.
1972 Added PerfTestRunner.prepareToMeasureValuesAsync and PerfTestRunner.measureValueAsync,
1973 and deployed it in Animation/balls.
1975 * Animation/balls.html:
1976 * resources/runner.js:
1978 2012-10-16 Elliott Sprehn <esprehn@chromium.org>
1980 html5-full-render.html test uses substring but meant substr
1981 https://bugs.webkit.org/show_bug.cgi?id=99495
1983 Reviewed by Adam Barth.
1985 This test intended to chunk up the HTML5 spec into chunks of 500k chars, but used
1986 substring(to,from) instead of substr(from,length) so it actually loaded 5x more
1987 content than was in the HTML5 spec.
1989 * Parser/html5-full-render.html:
1991 2012-10-11 James Simonsen <simonjam@chromium.org>
1993 unprefix window.performance.webkitNow()
1994 https://bugs.webkit.org/show_bug.cgi?id=88278
1996 Reviewed by Tony Gentilcore.
1998 * resources/runner.js: Bind to proper object to avoid invalid invocation errors.
2000 2012-10-08 Ryosuke Niwa <rniwa@webkit.org>
2002 Skip Layout/subtree-detaching.html temporarily as it's very noisy and
2003 takes 112s to run on Chromium Mac. This is tracked by the bug 98708.
2007 2012-10-08 Ryosuke Niwa <rniwa@webkit.org>
2009 Perf. test results page is broken when runs have different sets of tests
2010 https://bugs.webkit.org/show_bug.cgi?id=98691
2012 Reviewed by Daniel Bates.
2014 Add "missing" columns for tests that are missing some runs.
2016 Also fix regressions from the previous patch:
2017 - Make reference run switch work again
2018 - Load jquery plugins from the remote server when the jquery is loaded from the remote server.
2020 * resources/results-template.html:
2022 2012-10-08 Ryosuke Niwa <rniwa@webkit.org>
2024 Perf test pesults page takes forever to load on a machine with a slow Internet connection
2025 https://bugs.webkit.org/show_bug.cgi?id=98561
2027 Reviewed by Ojan Vafai.
2029 Try loading jquery both locally and remotely, and use the same method to load the remaining
2030 jquery plugins when either one succeeds.
2032 * resources/results-template.html:
2034 2012-10-04 Hayato Ito <hayato@chromium.org>
2036 [Refactoring] Introduce a traversal strategy in SelectorChecker
2037 https://bugs.webkit.org/show_bug.cgi?id=97298
2039 Reviewed by Antti Koivisto.
2041 Introduces querySelector() performance tests to check SelectorChecker performance.
2043 * CSS/PseudoClassSelectors.html: Added.
2045 2012-10-03 Philip Rogers <pdr@google.com>
2047 Force GC between PageLoad tests.
2048 https://bugs.webkit.org/show_bug.cgi?id=98203
2050 Reviewed by Ryosuke Niwa.
2052 Previously, our PageLoad PerfTests had multi-modal distributions,
2053 typically with a small cluster at 1-2x the median. This turned out
2054 to be caused by not garbage collecting between tests!
2056 This patch adds a new file, force-gc.html, and loads this file between
2057 PageLoad tests to force a GC. I manually verified that this cleans up
2058 our perf test outliers.
2060 * resources/force-gc.html: Added.
2062 2012-10-03 Julien Chaffraix <jchaffraix@webkit.org>
2064 Add a performance test for subtree detaching
2065 https://bugs.webkit.org/show_bug.cgi?id=98281
2067 Reviewed by Eric Seidel.
2069 The new test tries to stress detaching on a heavy subtree (2 levels deep but with 1,000 nodes per level).
2070 We set display: none on the root and measure the time it takes to update the tree. Note that we will also
2071 measure the time taken by recalcStyle and relayout but I don't think we can avoid that.
2073 * Layout/subtree-detaching.html: Added.
2075 2012-10-02 Ryosuke Niwa <rniwa@webkit.org>
2077 Build fix after r130135. Dromaeo tests only report single memory value,
2078 and computeStatistics should report variance as 0 in such cases.
2080 * resources/runner.js:
2082 2012-10-02 Philip Rogers <pdr@google.com>
2084 Fix PerfTest standard deviation calculation.
2085 https://bugs.webkit.org/show_bug.cgi?id=98115
2087 Reviewed by Ryosuke Niwa.
2089 Previously our standard deviation calculation was incorrect. This patch
2090 updates perftest.py's algorithm to calculate the sample standard deviation
2091 (with Bessel's correction) using Knuth's online algorithm:
2092 http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Online_algorithm
2093 An existing test has been modified to prove our new results.
2095 This patch also updates runner.js to use Bessel's correction in
2096 its sample standard deviation calculation, which is more accurate
2097 for small sample sizes.
2099 Additionally, runner.js has been modified to not calculate
2100 the 'sum' statistic, which was not very useful.
2102 * resources/runner.js:
2103 (PerfTestRunner.computeStatistics):
2105 2012-10-01 Ryosuke Niwa <rniwa@webkit.org>
2107 PerfTestRunner: Move all functions into the closure and always use double quotation for string literals
2108 https://bugs.webkit.org/show_bug.cgi?id=98093
2110 Reviewed by Ojan Vafai.
2112 Move all methods of PerfTestRunner into the closure that defines it.
2113 Also always use double quotations for string literals for consistency.
2115 * resources/runner.js:
2117 2012-10-01 Ryosuke Niwa <rniwa@webkit.org>
2119 Encapsulate private properties in PerfTestRunner better
2120 https://bugs.webkit.org/show_bug.cgi?id=97833
2122 Reviewed by Ojan Vafai.
2124 This patch moves "private" methods and properties of PerfTestRunner into a closure so that they're
2125 inaccssible from outside. Also catch exceptions from test.run, test.done, and other runner code
2126 to ensure we call notifyDone() even if we broke tests. Otherwise DRT will timeout and we end up
2127 waiting for 10 minutes per each broken test on bots.
2129 * resources/runner.js:
2130 (PerfTestRunner.gc):
2131 (logInDocument): Extracted from PerfTestRunner.log.
2132 (PerfTestRunner.log): Moved.
2133 (logFatalError): Added.
2134 (start): Renamed from PerfTestRunner._start.
2135 (scheduleNextRun): Extracted from PerfTestRunner._runLoop. Also catch any exceptions that happen
2136 in the runner and ignoreWarmUpAndLog so that we don't end up timing out. We call logFatalError in
2137 such cases, which in turn ensures notifyDone() is called.
2138 (ignoreWarmUpAndLog): Renamed from PerfTestRunner._ignoreWarmUpAndLog.
2139 (finish): Extracted from PerfTestRunner._runLoop.
2140 (PerfTestRunner.measureTime): Moved. The initialization of runCount is moved into start().
2141 (measureTimeOnce): Renamed from PerfTestRunner._measureTimeOnce.
2142 (PerfTestRunner.runPerSecond): Moved. Ditto about runCount.
2143 (measureRunsPerSecondOnce): Renamed from PerfTestRunner._measureRunsPerSecondOnce.
2144 (callRunAndMeasureTime): Renamed from PerfTestRunner._perSecondRunnerIterator.
2146 2012-10-01 Florin Malita <fmalita@chromium.org>
2148 Add a performance test for nested <use> elements
2149 https://bugs.webkit.org/show_bug.cgi?id=98047
2151 Reviewed by Ryosuke Niwa.
2153 Currently at ~5 runs per second on my workstation, but should go up significantly (100+)
2154 after landing a fix for https://bugs.webkit.org/show_bug.cgi?id=97905.
2156 * SVG/SvgNestedUse.html: Added.
2158 2012-09-28 Ryosuke Niwa <rniwa@webkit.org>
2160 Add back test.runCount for runPerSecond as it's used by tests in fast/harness/perftests.
2162 * resources/runner.js:
2163 (PerfTestRunner.runPerSecond):
2165 2012-09-27 Ryosuke Niwa <rniwa@webkit.org>
2167 Build fix after r129824.
2169 * DOM/resources/dom-perf.js:
2170 (runBenchmarkSuite):
2172 2012-09-27 Ryosuke Niwa <rniwa@webkit.org>
2174 Remove unused features and reduce code duplications in PerfTestRunner
2175 https://bugs.webkit.org/show_bug.cgi?id=97852
2177 Reviewed by Kentaro Hara.
2179 Made the following refactoring changes:
2180 - Remove PerfTestRunner.info since it's never used.
2181 - Moved the js heap/malloc related functions up to where they belong.
2182 - Moved the initialization of _callsPerIteration, _test, and -description into _start,
2183 and stopped initializing _runFunction and _doneFunction since both test times now
2185 - Made _measureTimeOnce and _measureRunsPerSecondOnce return the measured value
2186 instead of calling ignoreWarmUpAndLog and _runLoop to share the code; they're now
2187 called in _measureRunsPerSecondOnce.
2189 * resources/runner.js:
2190 (PerfTestRunner.storeHeapResults): Moved.
2191 (PerfTestRunner.getUsedMallocHeap): Moved.
2192 (PerfTestRunner.getUsedJSHeap): Moved.
2193 (PerfTestRunner.getAndPrintMemoryStatistics): Moved.
2194 (PerfTestRunner._scheduleNextMeasurementOrNotifyDone): Renamed from _runLoop. Calls
2195 ignoreWarmUpAndLog and schedules the next call.
2196 (PerfTestRunner._measureTimeOnce): Renamed from _runner.
2197 (PerfTestRunner._start): Renamed from initAndStartLoop.
2198 (PerfTestRunner.measureTime):
2199 (PerfTestRunner.runPerSecond):
2200 (PerfTestRunner._measureRunsPerSecondOnce): Renamed from _measureRunsPerSecondOnce.
2201 (PerfTestRunner._perSecondRunnerIterator):
2203 2012-09-27 Ryosuke Niwa <rniwa@webkit.org>
2205 PerfTestRunner.run should take an object
2206 https://bugs.webkit.org/show_bug.cgi?id=97743
2208 Reviewed by Kentaro Hara.
2210 Rename PerfTestRunner.run to PerfTestRunner.measureTime and make it take an object instead of
2211 5 arguments. Also get rid of PerfTestRunner._loopsPerRun since it's no longer used (it's always 1).
2213 * CSS/StyleSheetInsert.html:
2214 * DOM/resources/dom-perf.js:
2215 * Layout/floats_100_100.html:
2216 * Layout/floats_100_100_nested.html:
2217 * Layout/floats_20_100.html:
2218 * Layout/floats_20_100_nested.html:
2219 * Layout/floats_2_100.html:
2220 * Layout/floats_2_100_nested.html:
2221 * Layout/floats_50_100.html:
2222 * Layout/floats_50_100_nested.html:
2223 * Parser/html-parser.html:
2224 * Parser/html5-full-render.html:
2225 * SVG/SvgCubics.html:
2226 * SVG/SvgHitTesting.html:
2227 * resources/runner.js:
2229 2012-09-27 Ryosuke Niwa <rniwa@webkit.org>
2231 PerformanceTests/CSS/StyleSheetInsert.html has a time-dependent non-Gaussian distribution
2232 https://bugs.webkit.org/show_bug.cgi?id=97741
2234 Reviewed by Antti Koivisto.
2236 Reset the content in the iframe in each run so that the runtime from each run follows a normal distribution.
2237 We can cleanup this code once my patch to replace the argument list of run by an object is landed.
2239 * CSS/StyleSheetInsert.html:
2241 2012-09-27 Ryosuke Niwa <rniwa@webkit.org>
2243 Unreviewed. Minor appearance tweaks after r129813.
2245 * resources/results-template.html:
2247 2012-09-27 Ryosuke Niwa <rniwa@webkit.org>
2249 Results page should warn about time-dependent distributions
2250 https://bugs.webkit.org/show_bug.cgi?id=97818
2252 Reviewed by Ojan Vafai.
2254 Add a simple linear regression analysis on results page to detect time-dependent distributions.
2255 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.
2256 Also added time-series graphs per run under the bar graphs so that humans can manually inspect them.
2258 A nice follow up would be to add some normality test (e.g. Shapiro-Wilk) to detect bi-modal distributions
2259 but we probably need to restructure the code to run it asynchronously since normality tests are slow.
2261 * resources/results-template.html:
2263 2012-09-26 Ryosuke Niwa <rniwa@webkit.org>
2265 Use runPerSecond in PerformanceTests/Bindings/typed-array* and event-target-wrapper
2266 https://bugs.webkit.org/show_bug.cgi?id=97625
2268 Reviewed by Eric Seidel.
2270 Use PerfTestRunner.runPerSecond instead of PerfTestRunner.run. Also reduce the fixed number of
2271 elements and iterations in these tests by a factor of 10 since runPerSecond can dynamically
2272 adjust the number of function calls.
2274 * Bindings/event-target-wrapper.html:
2275 * Bindings/typed-array-construct-from-array.html:
2276 * Bindings/typed-array-construct-from-same-type.html:
2277 * Bindings/typed-array-construct-from-typed.html:
2278 * Bindings/typed-array-set-from-typed.html:
2280 2012-09-25 Antti Koivisto <antti@apple.com>
2282 Optimize stylesheet insertions
2283 https://bugs.webkit.org/show_bug.cgi?id=97627
2285 Reviewed by Andreas Kling.
2287 Add synthetic performance test for avoiding style recalcs on stylesheet inserts.
2289 * CSS/StyleSheetInsert.html: Added.
2291 2012-09-25 Ryosuke Niwa <rniwa@webkit.org>
2293 Skip Dromaeo/jslib-modify-jquery.html per bug 95376.
2294 It runs out of memory on Chromium port, and it takes unreasonably long time (~5 minutes)
2295 to run on other ports.
2299 2012-09-20 Ryosuke Niwa <rniwa@webkit.org>
2301 Results page should show indivisual value
2302 https://bugs.webkit.org/show_bug.cgi?id=97178
2304 Reviewed by Tony Chang.
2306 Show indivisual values instead of statistics (min, max, stdev).
2308 * resources/results-template.html:
2310 2012-09-20 Ryosuke Niwa <rniwa@webkit.org>
2312 run-perf-tests should record individual value instead of statistics
2313 https://bugs.webkit.org/show_bug.cgi?id=97155
2315 Reviewed by Hajime Morita.
2317 Report the list of values as "values" so that run-perf-tests can parse them.
2319 * resources/runner.js:
2320 (PerfTestRunner.computeStatistics):
2321 (PerfTestRunner.printStatistics):
2323 2012-09-20 Sheriff Bot <webkit.review.bot@gmail.com>
2325 Unreviewed, rolling out r129091.
2326 http://trac.webkit.org/changeset/129091
2327 https://bugs.webkit.org/show_bug.cgi?id=97205
2329 It broke perf tests everywhere (Requested by Ossy on #webkit).
2331 * resources/runner.js:
2332 (PerfTestRunner.computeStatistics):
2333 (PerfTestRunner.printStatistics):
2335 2012-09-19 Ryosuke Niwa <rniwa@webkit.org>
2337 run-perf-tests should record indivisual value instead of statistics
2338 https://bugs.webkit.org/show_bug.cgi?id=97155
2340 Reviewed by Hajime Morita.
2342 Report the list of values as "values" so that run-perf-tests can parse them.
2344 * resources/runner.js:
2345 (PerfTestRunner.computeStatistics):
2346 (PerfTestRunner.printStatistics):
2348 2012-09-17 Ryosuke Niwa <rniwa@webkit.org>
2350 Perf test results is incomprehensive
2351 https://bugs.webkit.org/show_bug.cgi?id=94668
2353 Reviewed by Eric Seidel.
2355 Overhauled the results page to have a tabular view. Clicking on each row shows a flot graph we used to have.
2356 For each run and test, we show the mean value with the standard deviation along with the percent difference
2357 against the reference run chosen by the user if the difference is statistically significant; it also indicates
2358 whether the new value is progression or not.
2360 The unit of each test is adjusted automatically using SI prefixes (Kilo, Mega, Milli), and rows can be sorted
2361 by each column. Time and memory results are separated into two tabs.
2363 * resources/jquery.tablesorter.min.js: Added.
2364 * resources/results-template.html:
2366 2012-09-14 Ryosuke Niwa <rniwa@webkit.org>
2368 Use performance.webkitNow in PerfTestRunner
2369 https://bugs.webkit.org/show_bug.cgi?id=92826
2371 Reviewed by Eric Seidel.
2373 Use performance.webkitNow with Date.now as a fallback for more accurate time measurements.
2375 * resources/runner.js:
2376 (PerfTestRunner._runner):
2377 (PerfTestRunner._perSecondRunnerIterator):
2379 2012-09-14 Sheriff Bot <webkit.review.bot@gmail.com>
2381 Unreviewed, rolling out r128562.
2382 http://trac.webkit.org/changeset/128562
2383 https://bugs.webkit.org/show_bug.cgi?id=96747
2385 It broke perf tests on Qt and Chromium (Requested by Ossy on
2388 * resources/runner.js:
2389 (PerfTestRunner._runner):
2390 (PerfTestRunner._perSecondRunnerIterator):
2392 2012-09-14 Ryosuke Niwa <rniwa@webkit.org>
2394 Use performance.webkitNow in PerfTestRunner
2395 https://bugs.webkit.org/show_bug.cgi?id=92826
2397 Reviewed by Eric Seidel.
2399 Use performance.webkitNow with Date.now as a fallback for more acurate time measurements.
2401 * resources/runner.js:
2402 (PerfTestRunner._runner):
2403 (PerfTestRunner._perSecondRunnerIterator):
2405 2012-08-23 Ilya Tikhonovsky <loislo@chromium.org>
2407 WebInspector: unreviewed single line test fix.
2409 The test has to open profiles panel explicitly because it is creating lazily.
2411 * inspector/heap-snapshot-performance-test.js:
2413 2012-08-15 Scott Graham <scottmg@chromium.org>
2415 Rename window.internals.fastMallocStatistics to mallocStatistics
2416 https://bugs.webkit.org/show_bug.cgi?id=94033
2418 Reviewed by Adam Barth.
2420 * resources/runner.js:
2421 (PerfTestRunner.storeHeapResults):
2422 (PerfTestRunner.getUsedMallocHeap):
2423 (PerfTestRunner.getAndPrintMemoryStatistics):
2424 (PerfTestRunner.initAndStartLoop):
2426 2012-08-10 Ryosuke Niwa <rniwa@webkit.org>
2428 Unreviewed; fix an insanely silly typo.
2430 * resources/results-template.html:
2432 2012-08-09 Ryosuke Niwa <rniwa@webkit.org>
2434 Another build fix after r125178.
2436 * resources/runner.js:
2438 2012-08-09 Zoltan Horvath <zoltan@webkit.org>
2440 Add memory measurement to balls.html and dromaeorunner.js
2441 https://bugs.webkit.org/show_bug.cgi?id=93617
2443 Reviewed by Adam Barth.
2445 Since we added memory measurement support to performance tests we need to modify these tests.
2447 * Animation/balls.html:
2448 * Dromaeo/resources/dromaeorunner.js:
2450 2012-08-09 Zoltan Horvath <zoltan@webkit.org>
2452 JSHeap and FastMallocStatistics based memory measurement for performance-tests
2453 https://bugs.webkit.org/show_bug.cgi?id=90858
2455 Reviewed Ryosuke Niwa.
2457 Measure the memory usage of the performancetests with the help of the windows.memory.usedJSHeapSize
2458 object and the window.internals.fastMallocStatistics() function call.
2460 * resources/runner.js:
2461 (PerfTestRunner.logStatistics):
2462 (PerfTestRunner.printStatistics):
2463 (PerfTestRunner.storeHeapResults):
2464 (PerfTestRunner.getUsedFastMallocHeap):
2465 (PerfTestRunner.getUsedJSHeap):
2466 (PerfTestRunner.getAndPrintMemoryStatistics):
2467 (PerfTestRunner.ignoreWarmUpAndLog):
2468 (PerfTestRunner.initAndStartLoop):
2470 2012-08-08 Benjamin Poulain <benjamin@webkit.org>
2472 Calling internals from the performance test runner prevents manual running
2473 https://bugs.webkit.org/show_bug.cgi?id=93527
2475 Reviewed by Ryosuke Niwa.
2477 Since r125065, it is impossible to run the Performance tests manually. The problem is
2478 "internals" is not defined when running outside the test runner, so the whole script
2481 * resources/runner.js: Verify is window.internals is available before invoking something on it.
2483 2012-08-08 Zoltan Horvath <zoltan@webkit.org>
2485 Set access to MemoryInfo enabled for the performance tests
2486 https://bugs.webkit.org/show_bug.cgi?id=92498
2488 Reviewed by Ryosuke Niwa.
2490 We need access to console.memory for the memory measurements.
2492 * resources/runner.js:
2494 2012-08-07 Ryosuke Niwa <rniwa@webkit.org>
2496 run-perf-tests should support --no-show-results
2497 https://bugs.webkit.org/show_bug.cgi?id=93409
2499 Reviewed by Dirk Pranke.
2501 Add a flot as a separate file and load it as an external resource.
2503 Also include scripts as external resources from both local filesystem and webkit.org
2504 so that it continues to work regardless of where you put it.
2506 It breaks when someone else receives the file and save it somewhere and doesn't have
2507 a network connection but that seems like a scenario we don't care that much.
2509 * resources/jquery.flot.min.js: Added.
2510 * resources/results-template.html:
2512 2012-08-06 Ryosuke Niwa <rniwa@webkit.org>
2514 run-webkit-tests should have ability to add description to its JSON output
2515 https://bugs.webkit.org/show_bug.cgi?id=93296
2517 Reviewed by Dirk Pranke.
2519 Parse description and show it with the WebKit revision on the results page. Also use bar graphs
2520 instead of line graphs since we're not depicting the time series here per arv's suggestion.
2521 Finally, add the ability to adjust y-axis between the adjusted value and 0 (plot even doesn't adjust
2522 y-axis automatically now) by a mouse click.
2524 * resources/results-template.html:
2526 2012-08-04 Ryosuke Niwa <rniwa@webkit.org>
2528 Use testRunner instead of layoutTestController in performance tests
2529 https://bugs.webkit.org/show_bug.cgi?id=93184
2531 Reviewed by Adam Barth.
2533 * Animation/balls.html:
2534 * Dromaeo/resources/dromaeorunner.js:
2535 * inspector/console-300-lines.html:
2536 * inspector/inspector-startup-time.html:
2537 * inspector/network-append-30-requests.html.broken:
2538 * inspector/show-panel.html.broken:
2539 * resources/runner.js:
2540 (PerfTestRunner.logInfo):
2541 (PerfTestRunner.initAndStartLoop):
2543 2012-08-02 Arnaud Renevier <a.renevier@sisa.samsung.com>
2545 TypedArray set method is slow when called with another typed array
2546 https://bugs.webkit.org/show_bug.cgi?id=92556
2548 Reviewed by Kenneth Russell.
2550 * Bindings/typed-array-set-from-typed.html: Added.
2552 2012-07-28 Ryosuke Niwa <rniwa@webkit.org>
2554 run-perf-tests should generate a results page
2555 https://bugs.webkit.org/show_bug.cgi?id=92575
2557 Reviewed by Eric Seidel.
2559 Add a results page template. This page includes flot and flot.fillbetween.
2560 jQuery and the json that contains test results are injected by run-perf-tests.
2562 * resources/results-template.html: Added.
2564 2012-07-27 Arnaud Renevier <a.renevier@sisa.samsung.com>
2566 use createUninitialized when creating TypedArray from another array
2567 https://bugs.webkit.org/show_bug.cgi?id=92518
2569 Reviewed by Kenneth Russell.
2571 * Bindings/typed-array-construct-from-array.html: Added.
2573 2012-07-27 Ryosuke Niwa <rniwa@webkit.org>
2575 Add more Russian replay performance tests
2576 https://bugs.webkit.org/show_bug.cgi?id=92462
2578 Reviewed by Tony Chang.
2580 Add more Russian sites as suggested by loislo.
2582 * Replay/Russian/lenta.ru.replay: Added.
2583 * Replay/Russian/www.ixbt.com.replay: Added.
2584 * Replay/Russian/www.kp.ru.replay: Added.
2585 * Replay/Russian/www.liveinternet.ru.replay: Added.
2586 * Replay/Russian/www.pravda.ru.replay: Added.
2588 2012-07-26 Arnaud Renevier <a.renevier@sisa.samsung.com>
2590 constructing TypedArray from another TypedArray is slow
2591 https://bugs.webkit.org/show_bug.cgi?id=90838
2593 Reviewed by Kenneth Russell.
2595 * Bindings/typed-array-construct-from-same-type.html: Added.
2596 * Bindings/typed-array-construct-from-typed.html: Added.
2598 2012-07-25 Ryosuke Niwa <rniwa@webkit.org>
2600 Import more replay performance tests from Mozilla's Tp5 test suite
2601 https://bugs.webkit.org/show_bug.cgi?id=92229
2603 Reviewed by Andreas Kling.
2605 Add more replay tests based on Mozilla's Tp5 test suite [1]. Unfortunately,
2606 we cannot import all URLs because some of them are not archived on archive.org
2607 and others do not replay well on web-page-replay. Nonethless, we're still adding
2608 60+ URLs in this patch.
2610 [1] http://people.mozilla.org/~jmaher/tp5.manifest
2612 * Replay/Chinese: Added.
2613 * Replay/Chinese/chinaz.com.replay: Added.
2614 * Replay/Chinese/www.163.com.replay: Added.
2615 * Replay/Chinese/www.alipay.com.replay: Added.
2616 * Replay/Chinese/www.baidu.com.replay: Added.
2617 * Replay/Chinese/www.csdn.net.replay: Added.
2618 * Replay/Chinese/www.douban.com.replay: Added.
2619 * Replay/Chinese/www.hao123.com.replay: Added.
2620 * Replay/Chinese/www.xinhuanet.com.replay: Added.
2621 * Replay/Chinese/www.xunlei.com.replay: Added.
2622 * Replay/Chinese/www.youku.com.replay: Added.
2623 * Replay/English: Added.
2624 * Replay/English/beatonna.livejournal.com.replay: Added.
2625 * Replay/English/cakewrecks.blogspot.com.replay: Added.
2626 * Replay/English/chemistry.about.com.replay: Added.
2627 * Replay/English/digg.com.replay: Added.
2628 * Replay/English/en.wikipedia.org-rorschach_test.replay: Added.
2629 * Replay/English/icanhascheezburger.com.replay: Added.
2630 * Replay/English/imgur.com-gallery.replay: Added.
2631 * Replay/English/online.wsj.com.replay: Added.
2632 * Replay/English/stockoverflow.com-best-comment.replay: Added.
2633 * Replay/English/www.alibaba.com.replay: Added.
2634 * Replay/English/www.amazon.com-kindle.replay: Added.
2635 * Replay/English/www.apple.com.replay: Added.
2636 * Replay/English/www.cnet.com.replay: Added.
2637 * Replay/English/www.dailymotion.com.replay: Added.
2638 * Replay/English/www.ehow.com-prevent-fire.replay: Added.
2639 * Replay/English/www.filestube.com-amy-adams.replay: Added.
2640 * Replay/English/www.foxnews.replay: Added.
2641 * Replay/English/www.huffingtonpost.com.replay: Added.
2642 * Replay/English/www.imdb.com-twilight.replay: Added.
2643 * Replay/English/www.mozilla.com-all-order.replay: Added.
2644 * Replay/English/www.php.net.replay: Added.
2645 * Replay/English/www.reddit.com.replay: Added.
2646 * Replay/English/www.telegraph.co.uk.replay: Added.
2647 * Replay/English/www.w3.org-htmlcss.replay: Added.
2648 * Replay/English/www.w3schools.com-html.replay: Added.
2649 * Replay/English/www.youtube.com-music.replay: Added.
2650 * Replay/French: Added.
2651 * Replay/French/www.orange.fr.replay: Added.
2652 * Replay/German: Added.
2653 * Replay/Italian: Added.
2654 * Replay/Italian/www.repubblica.it.replay: Added.
2655 * Replay/Japanese/entameblog.seesaa.net.replay: Added.
2656 * Replay/Japanese/www.hatena.ne.jp.replay: Added.
2657 * Replay/Japanese/www.nicovideo.jp.replay: Added.
2658 * Replay/Korean: Added.
2659 * Replay/Korean/www.naver.com.replay: Added.
2660 * Replay/Persian: Added.
2661 * Replay/Persian/blogfa.com.replay: Added.
2662 * Replay/Polish: Added.
2663 * Replay/Polish/www.wp.pl.replay: Added.
2664 * Replay/Portuguese: Added.
2665 * Replay/Portuguese/www.uol.com.br.replay: Added.
2666 * Replay/Russian: Added.
2667 * Replay/Russian/vkontakte.ru-help.replay: Added.
2668 * Replay/Russian/www.rambler.ru.replay: Added.
2669 * Replay/Russian/www.ucoz.ru.replay: Added.
2670 * Replay/Russian/www.yandex.ru.replay: Added.
2671 * Replay/Spanish: Added.
2672 * Replay/Spanish/www.taringa.net.replay: Added.
2674 2012-07-24 Ryosuke Niwa <rniwa@webkit.org>
2676 Add some Japanese and Swedish websites to replay tests
2677 https://bugs.webkit.org/show_bug.cgi?id=92076
2679 Reviewed by Andreas Kling.
2681 Added new replay tests as follows.
2683 * Replay/Japanese: Added.
2684 * Replay/Japanese/2ch.net-newsplus.replay: Added.
2685 * Replay/Japanese/ja.wikipedia.org.replay: Added.
2686 * Replay/Japanese/www.livedoor.com.replay: Added.
2687 * Replay/Japanese/www.rakuten.co.jp.replay: Added.
2688 * Replay/Japanese/www.yahoo.co.jp.replay: Added.
2689 * Replay/Swedish: Added.
2690 * Replay/Swedish/www.flashback.se.replay: Added.
2691 * Replay/Swedish/www.tradera.com.replay: Added.
2692 * Replay/www.techcrunch.com.replay: Added.
2694 2012-07-18 MORITA Hajime <morrita@google.com>
2696 Add window resize benchmark
2697 https://bugs.webkit.org/show_bug.cgi?id=91070
2699 Reviewed by Ryosuke Niwa.
2701 Added window-resize.html which exercise html5.html. This test
2702 resizes the window and forces re-layout repeatedly.
2704 * Interactive/resources/window-resize.js: Added.
2705 * Interactive/window-resize.html: Added.
2706 * Parser/resources/html5.html: Modified to inject driver scripts.
2708 2012-07-11 Philip Rogers <pdr@google.com>
2710 Add a performance test for hit testing in SVG
2711 https://bugs.webkit.org/show_bug.cgi?id=90811
2713 Reviewed by Ryosuke Niwa.
2715 The shape rendering code is changing a lot and I'd like a performance test to
2716 make sure we don't regress, and to track our improvements.
2718 Performance results in my Linux desktop:
2719 RESULT SVG: SvgHitTesting= 105.0 ms
2720 median= 103.5 ms, stdev= 4.60434577329 ms, min= 101.0 ms, max= 116.0 ms
2722 RESULT SVG: SvgHitTesting= 97.8 ms
2723 median= 96.5 ms, stdev= 2.67581763205 ms, min= 95.0 ms, max= 102.0 ms
2725 RESULT SVG: SvgHitTesting= 104.3 ms
2726 median= 104.0 ms, stdev= 1.41774468788 ms, min= 102.0 ms, max= 107.0 ms
2728 RESULT SVG: SvgHitTesting= 103.6 ms
2729 median= 103.5 ms, stdev= 1.2 ms, min= 102.0 ms, max= 106.0 ms
2731 * SVG/SvgHitTesting.html: Added.
2733 2012-07-03 Jan Keromnes <janx@linux.com>
2735 Web Inspector: WebInspector.TextViewer should be renamed WebInspector.TextEditor
2736 https://bugs.webkit.org/show_bug.cgi?id=89939
2738 Reviewed by Vsevolod Vlasov.
2740 * inspector/first-open-scripts.html.broken:
2742 2012-06-22 Philip Rogers <pdr@google.com>
2744 Make SvgCubics performance test more consistent
2745 https://bugs.webkit.org/show_bug.cgi?id=89778
2747 Reviewed by Ryosuke Niwa.
2749 Previously this test ran twice for each iteration, but this led to inconsistent repaints.
2750 This change updates the test to only run once per iteration, and adds even more cubics
2751 so that the test runs consistently in the 80ms range on my Linux desktop.
2753 Performance results on my desktop:
2754 RESULT SVG: SvgCubics= 80.5 ms
2755 median= 82.0 ms, stdev= 3.04138126515 ms, min= 75.0 ms, max= 85.0 ms
2757 RESULT SVG: SvgCubics= 80.1 ms
2758 median= 81.0 ms, stdev= 4.27668095607 ms, min= 74.0 ms, max= 88.0 ms
2760 RESULT SVG: SvgCubics= 81.45 ms
2761 median= 83.0 ms, stdev= 4.01839520207 ms, min= 75.0 ms, max= 89.0 ms
2763 RESULT SVG: SvgCubics= 78.9 ms
2764 median= 80.0 ms, stdev= 4.75289385533 ms, min= 72.0 ms, max= 87.0 ms
2766 * SVG/SvgCubics.html:
2768 2012-06-22 Ilya Tikhonovsky <loislo@chromium.org>
2770 Web Inspector: partially instrument DOM Tree native memory.
2771 https://bugs.webkit.org/show_bug.cgi?id=89568
2773 This patch adds MemoryInstrumentation class that counts all visited
2774 objects and calls reportMemoryUsage.
2776 Reviewed by Yury Semikhatsky.
2778 * inspector/native-memory-snapshot.html:
2780 2012-06-21 Kentaro Hara <haraken@chromium.org>
2782 Add a perf-test for innerHTML setter for a large DOM tree
2783 https://bugs.webkit.org/show_bug.cgi?id=89723
2785 Reviewed by Ryosuke Niwa.
2787 We want a benchmark for innerHTML setter for the following reason:
2789 - innerHTML setter is widely used in the real world.
2790 - I am planning to optimize innerHTML setter in the near future.
2791 - I want to use the innerHTML setter benchmark for the patch of bug 88834.
2793 Performance results in my Linux desktop:
2795 RESULT Parser: innerHTML-setter= 289.782649995 runs/s
2796 median= 290.046269741 runs/s, stdev= 1.06575112224 runs/s, min= 286.831812256 runs/s, max= 291.005291005 runs/s
2798 RESULT Parser: innerHTML-setter= 289.020706132 runs/s
2799 median= 289.093298292 runs/s, stdev= 0.985203313093 runs/s, min= 286.831812256 runs/s, max= 290.620871863 runs/s
2801 RESULT Parser: innerHTML-setter= 288.912051701 runs/s
2802 median= 291.005291005 runs/s, stdev= 3.65241325588 runs/s, min= 283.505154639 runs/s, max= 292.553191489 runs/s
2804 RESULT Parser: innerHTML-setter= 288.644186666 runs/s
2805 median= 288.713910761 runs/s, stdev= 1.31889053717 runs/s, min= 286.085825748 runs/s, max= 290.620871863 runs/s
2807 RESULT Parser: innerHTML-setter= 288.698714577 runs/s
2808 median= 288.713910761 runs/s, stdev= 1.03938198202 runs/s, min= 286.458333333 runs/s, max= 290.237467018 runs/s
2810 * Parser/innerHTML-setter.html: Added.
2812 2012-06-20 Philip Rogers <pdr@google.com>
2814 Add a performance test for paths in SVG
2815 https://bugs.webkit.org/show_bug.cgi?id=89547
2817 Reviewed by Ryosuke Niwa.
2819 This change adds the first performance test for SVG paths.
2820 In the test we modify complex cubic paths in several ways, testing:
2821 transformations, clipping, d attribute changes, stroke properties,
2822 text on a path, and opacity.
2824 Sample test results on my Linux desktop:
2825 RESULT SVG: SvgCubics= 68.85 ms
2826 median= 69.5 ms, stdev= 4.70398767005 ms, min= 56.0 ms, max= 75.0 ms
2828 RESULT SVG: SvgCubics= 68.4 ms
2829 median= 69.0 ms, stdev= 3.51283361405 ms, min= 59.0 ms, max= 74.0 ms
2831 RESULT SVG: SvgCubics= 66.95 ms
2832 median= 67.0 ms, stdev= 3.4420197559 ms, min= 59.0 ms, max= 74.0 ms
2834 RESULT SVG: SvgCubics= 70.2 ms
2835 median= 71.5 ms, stdev= 3.23419232576 ms, min= 63.0 ms, max= 74.0 ms
2838 * SVG/SvgCubics.html: Added.
2840 2012-06-20 Tom Zakrajsek <tomz@codeaurora.org>
2842 Import themaninblue.com/experiment/AnimationBenchmark/ as performance tests
2843 https://bugs.webkit.org/show_bug.cgi?id=78789
2845 Reviewed by Ryosuke Niwa.
2847 Added PerfTestRunner fixture around it.
2849 * Animation/balls.html: Added.
2851 2012-06-18 Ilya Tikhonovsky <loislo@chromium.org>
2853 Web Inspector: native memory snapshot performance and coverage test implementation.
2854 https://bugs.webkit.org/show_bug.cgi?id=89363
2856 We have to track the performance of MemoryAgent.getProcessMemoryDistribution.
2857 Also this test will work as a burn down chart for Unknown memory metric.
2859 Reviewed by Pavel Feldman.
2861 * inspector/native-memory-snapshot.html: Added.
2862 * inspector/performance-test.js:
2863 (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer):
2864 (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.reportSize):
2865 (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump):
2866 (initialize_TimeTracker.InspectorTest.runPerformanceTest):
2868 2012-06-05 Alexei Filippov <alexeif@chromium.org>
2870 Web Inspector: serialize edge counts instead of indexes in heap snapshot
2871 https://bugs.webkit.org/show_bug.cgi?id=88324
2873 The serialized node structure currently holds an index
2874 of its first containment edge in the edges array.
2875 The index can be quite big (up to 7 digits for large snapshots).
2876 The patch changes the serialization format to pass
2877 node containment edge count instead. For most nodes the count
2878 is just a single digit number.
2879 This reduces serialized snapshot size and therefore its transfer time.
2881 Reviewed by Yury Semikhatsky.
2883 * inspector/heap-snapshot-performance-test.js:
2885 2012-06-04 Alexei Filippov <alexeif@chromium.org>
2887 Web Inspector: speed up _calculateRetainedSizes function
2888 https://bugs.webkit.org/show_bug.cgi?id=87863
2890 Reviewed by Yury Semikhatsky.
2892 * inspector/heap-snapshot-advanced.html: Added.
2893 * inspector/heap-snapshot-performance-test.js: Copied from PerformanceTests/inspector/heap-snapshot.html.
2894 (test.performanceTest.step0):
2895 (test.performanceTest.step1):
2896 (test.performanceTest.step2):
2897 (test.performanceTest.cleanup):
2898 (test.performanceTest.done):
2899 (test.performanceTest):
2901 * inspector/heap-snapshot.html:
2903 2012-06-03 Kentaro Hara <haraken@chromium.org>
2905 [perf-test] Add a benchmark of querySelector() for an element that appears in the depths in the document
2906 https://bugs.webkit.org/show_bug.cgi?id=88202
2908 Reviewed by Ryosuke Niwa.
2910 query-selector-first.html tests querySelector() for an element
2911 that appears at the head of the document. query-selector-last.html
2912 tests querySelector() for an element that appears at the tail of
2913 the document. In addition, we want a benchmark of querySelector()
2914 for an element that appears in the depths in the document.
2916 Test results in my Linux desktop:
2918 RESULT Parser: query-selector-deep= 460.776980611 runs/s
2919 median= 460.947503201 runs/s, stdev= 1.72274941942 runs/s, min= 455.696202532 runs/s, max= 463.32046332 runs/s
2921 RESULT Parser: query-selector-deep= 458.925050915 runs/s
2922 median= 459.183673469 runs/s, stdev= 1.47930124139 runs/s, min= 454.545454545 runs/s, max= 460.947503201 runs/s
2924 RESULT Parser: query-selector-deep= 461.866981491 runs/s
2925 median= 461.538461538 runs/s, stdev= 1.14613123359 runs/s, min= 459.183673469 runs/s, max= 463.917525773 runs/s
2927 RESULT Parser: query-selector-deep= 453.922010788 runs/s
2928 median= 454.258855898 runs/s, stdev= 1.77279123317 runs/s, min= 447.204968944 runs/s, max= 455.696202532 runs/s
2930 RESULT Parser: query-selector-deep= 454.666321221 runs/s
2931 median= 454.545454545 runs/s, stdev= 1.65775667417 runs/s, min= 451.127819549 runs/s, max= 456.852791878 runs/s
2933 * Parser/query-selector-deep.html: Added.
2935 2012-06-03 Kentaro Hara <haraken@chromium.org>
2937 [perf-test] Make query-selector-last.html more realistic
2938 https://bugs.webkit.org/show_bug.cgi?id=88203
2940 Reviewed by Ryosuke Niwa.
2942 query-selector-last.html tests querySelector() for an element
2943 that appears after 1000 div elements, all of which have the same
2944 id and class. To test the performance of querySelector() under
2945 a lot of ids and classes, we should make the ids and classes of
2946 the 1000 elements different.
2948 This patch degrades the performance of query-selector-last.html
2952 RESULT Parser: query-selector-last= 476.382274152 runs/s
2953 median= 476.821192053 runs/s, stdev= 1.14578875814 runs/s, min= 474.308300395 runs/s, max= 478.087649402 runs/s
2955 RESULT Parser: query-selector-last= 478.423061861 runs/s
2956 median= 478.723404255 runs/s, stdev= 1.54876867255 runs/s, min= 473.684210526 runs/s, max= 481.347773767 runs/s
2958 RESULT Parser: query-selector-last= 479.849287174 runs/s
2959 median= 480.0 runs/s, stdev= 1.69849752498 runs/s, min= 475.561426684 runs/s, max= 481.927710843 runs/s
2961 RESULT Parser: query-selector-last= 476.765438846 runs/s
2962 median= 477.453580902 runs/s, stdev= 1.8724488664 runs/s, min= 471.821756225 runs/s, max= 478.723404255 runs/s
2964 RESULT Parser: query-selector-last= 481.715340644 runs/s
2965 median= 481.637742305 runs/s, stdev= 1.81446361145 runs/s, min= 475.561426684 runs/s, max= 483.675937122 runs/s
2968 RESULT Parser: query-selector-last= 458.866623582 runs/s
2969 median= 459.183673469 runs/s, stdev= 1.48881464737 runs/s, min= 453.972257251 runs/s, max= 460.947503201 runs/s
2971 RESULT Parser: query-selector-last= 460.363532897 runs/s
2972 median= 460.358056266 runs/s, stdev= 1.58512056995 runs/s, min= 456.273764259 runs/s, max= 462.130937099 runs/s
2974 RESULT Parser: query-selector-last= 457.727448451 runs/s
2975 median= 458.015267176 runs/s, stdev= 1.23681915516 runs/s, min= 453.972257251 runs/s, max= 459.183673469 runs/s
2977 RESULT Parser: query-selector-last= 465.57336853 runs/s
2978 median= 465.717981889 runs/s, stdev= 1.6616925374 runs/s, min= 460.947503201 runs/s, max= 467.532467532 runs/s
2980 RESULT Parser: query-selector-last= 459.836252019 runs/s
2981 median= 459.770114943 runs/s, stdev= 1.84485630505 runs/s, min= 455.696202532 runs/s, max= 462.724935733 runs/s
2983 * Parser/query-selector-last.html:
2985 2012-06-01 Ryosuke Niwa <rniwa@webkit.org>
2987 Add public page loading performance tests using web-page-replay
2988 https://bugs.webkit.org/show_bug.cgi?id=84008
2990 Reviewed by Dirk Pranke.
2992 Add replay tests for google.com and youtube.com as examples.
2995 * Replay/www.google.com.replay: Added.
2996 * Replay/www.youtube.com.replay: Added.
2998 2012-05-30 Kentaro Hara <haraken@chromium.org>
3000 [perf-test] Add a benchmark for querySelector()
3001 https://bugs.webkit.org/show_bug.cgi?id=87742
3003 Reviewed by Ryosuke Niwa.
3005 Now I am optimizing querySelector() (bug 87625).
3006 This patch adds a performance test for querySelector().
3007 query-selector-first.html queries an element that appears
3008 at the head of the document. On the other hand,
3009 query-selector-last.html queries an element that appears
3010 at the tail of the document.
3012 Test results in my desktop:
3014 [query-selector-first.html]
3015 RESULT Parser: query-selector-first= 252.339803014 runs/s
3016 median= 253.646265594 runs/s, stdev= 2.32610873209 runs/s, min= 248.138957816 runs/s, max= 254.777070064 runs/s
3018 RESULT Parser: query-selector-first= 252.688468897 runs/s
3019 median= 252.684876579 runs/s, stdev= 3.60008778708 runs/s, min= 246.002460025 runs/s, max= 258.397932817 runs/s
3021 RESULT Parser: query-selector-first= 253.466019656 runs/s
3022 median= 254.129606099 runs/s, stdev= 1.78002675664 runs/s, min= 247.831474597 runs/s, max= 254.777070064 runs/s
3024 RESULT Parser: query-selector-first= 256.245078189 runs/s
3025 median= 257.06940874 runs/s, stdev= 2.84722072201 runs/s, min= 249.687890137 runs/s, max= 259.74025974 runs/s
3027 RESULT Parser: query-selector-first= 252.203100497 runs/s
3028 median= 252.047989175 runs/s, stdev= 1.75233446036 runs/s, min= 248.138957816 runs/s, max= 255.427841635 runs/s
3030 [query-selector-last.html]
3031 RESULT Parser: query-selector-last= 356.009616076 runs/s
3032 median= 355.781448539 runs/s, stdev= 0.841519086864 runs/s, min= 354.430379747 runs/s, max= 358.056265985 runs/s
3034 RESULT Parser: query-selector-last= 360.735271001 runs/s
3035 median= 361.057532424 runs/s, stdev= 1.12253219867 runs/s, min= 358.514724712 runs/s, max= 362.225097025 runs/s
3037 RESULT Parser: query-selector-last= 359.598592463 runs/s
3038 median= 359.435173299 runs/s, stdev= 0.816538258728 runs/s, min= 358.056265985 runs/s, max= 360.824742268 runs/s
3040 RESULT Parser: query-selector-last= 357.260651715 runs/s
3041 median= 357.598978289 runs/s, stdev= 1.17393159885 runs/s, min= 353.982300885 runs/s, max= 358.974358974 runs/s
3043 RESULT Parser: query-selector-last= 351.696240713 runs/s
3044 median= 351.980025916 runs/s, stdev= 1.14200564038 runs/s, min= 348.692403487 runs/s, max= 353.535353535 runs/s
3046 * Parser/query-selector-first.html: Added.
3047 * Parser/query-selector-last.html: Added.
3049 2012-05-25 Ilya Tikhonovsky <loislo@chromium.org>
3051 Web Inspector: HeapSnapshot: introduce performance counter for HeapSnapshotConstructorsDataGrid._aggregatesReceived method.
3052 https://bugs.webkit.org/show_bug.cgi?id=87393
3054 Reviewed by Yury Semikhatsky.
3056 * inspector/heap-snapshot.html:
3058 2012-05-25 Ilya Tikhonovsky <loislo@chromium.org>
3060 Web Inspector: HeapProfiler's perf test: each N-th run pushes the run results N-th times.
3061 https://bugs.webkit.org/show_bug.cgi?id=87476
3063 The time tracking wrappers were attaching on each run.
3065 Reviewed by Yury Semikhatsky.
3067 * inspector/heap-snapshot.html:
3069 2012-05-22 Ilya Tikhonovsky <loislo@chromium.org>
3071 Web Inspector: HeapProfiler: upstream retainedSize calculation.
3072 https://bugs.webkit.org/show_bug.cgi?id=87107
3074 This patch upstreams V8::HeapSnapshotGenerator::CalculateRetainedSizes function to front-end.
3075 After that we will be able to drop retainedSize field from the snapshot serialized data.
3076 See meta-bug https://bugs.webkit.org/show_bug.cgi?id=87089
3078 Reviewed by Yury Semikhatsky.
3080 * inspector/heap-snapshot.html: add counter for the _calculateRetainedSize method.
3082 2012-05-21 Kent Tamura <tkent@chromium.org>
3084 Add performance tests for <textarea>
3085 https://bugs.webkit.org/show_bug.cgi?id=86994
3087 Reviewed by Ryosuke Niwa.
3089 * DOM/textarea-dom.html: Added.
3090 * DOM/textarea-edit.html: Added.
3091 * Parser/textarea-parsing.html: Added.
3093 2012-05-18 Ilya Tikhonovsky <loislo@chromium.org>
3095 Web Inspector: upstream build dominators tree procedure from v8.
3096 https://bugs.webkit.org/show_bug.cgi?id=86640
3098 The idea is to reduce transfer size and move all the post-processing steps to the front-end.
3099 The JS implementation is ~1.5 times slower.
3101 Reviewed by Yury Semikhatsky.
3103 Covered by existing tests and performance tests.
3105 * inspector/heap-snapshot.html:
3107 2012-05-18 Kentaro Hara <haraken@chromium.org>
3109 [perf-test] Remove Bindings/dom-attributes.html
3110 https://bugs.webkit.org/show_bug.cgi?id=86820
3112 Reviewed by Ryosuke Niwa.
3114 Bindings/dom-attributes.html is just a collection of random
3115 DOM attributes and methods. Now we've added more reasonable
3116 micro benchmarks by classifying DOM binding call paths, we
3117 can remove Bindings/dom-attributes.html.
3119 * Bindings/dom-attributes.html: Removed.
3121 2012-05-18 Kentaro Hara <haraken@chromium.org>
3123 [perf-test] Add a binding benchmark for getElementById() for an undefined id
3124 https://bugs.webkit.org/show_bug.cgi?id=86812
3126 Reviewed by Ryosuke Niwa.
3128 We should remove Bindings/dom-attributes.html and instead add more
3129 reasonable micro benchmarks by classifying DOM binding call paths.
3131 This patch adds a benchmark for document.getElementById() for an undefined id.
3132 This benchmark covers 'getElementById (not in document)' in Dromaeo/dom-query.html,
3133 and other Node-query methods that return a null.'
3135 (Note: This benchmark is slower than document.getElementById() for a defined id.
3136 We will fix the performance issue soon.)
3138 Test results in my Linux desktop:
3140 RESULT Bindings: undefined-get-element-by-id= 271.945751345 runs/s
3141 median= 273.122389532 runs/s, stdev= 6.78219237299 runs/s, min= 257.4002574 runs/s, max= 281.690140845 runs/s
3143 RESULT Bindings: undefined-get-element-by-id= 269.105872408 runs/s
3144 median= 268.948655257 runs/s, stdev= 5.73707323755 runs/s, min= 257.4002574 runs/s, max= 278.128950695 runs/s
3146 RESULT Bindings: undefined-get-element-by-id= 269.987513372 runs/s
3147 median= 272.952853598 runs/s, stdev= 5.30252336078 runs/s, min= 255.754475703 runs/s, max= 273.97260274 runs/s
3149 RESULT Bindings: undefined-get-element-by-id= 270.169625901 runs/s
3150 median= 271.604938272 runs/s, stdev= 5.29502391906 runs/s, min= 258.064516129 runs/s, max= 278.481012658 runs/s
3152 RESULT Bindings: undefined-get-element-by-id= 269.054631422 runs/s
3153 median= 267.966292802 runs/s, stdev= 6.27197240579 runs/s, min= 258.064516129 runs/s, max= 278.481012658 runs/s
3155 * Bindings/undefined-get-element-by-id.html: Added.
3157 2012-05-18 Kentaro Hara <haraken@chromium.org>
3159 [perf-test] Add a binding benchmark for getElementsByTagName()
3160 https://bugs.webkit.org/show_bug.cgi?id=86810
3162 Reviewed by Ryosuke Niwa.
3164 We should remove Bindings/dom-attributes.html and instead add more
3165 reasonable micro benchmarks by classifying DOM binding call paths.
3167 This patch adds a benchmark for document.getElementsByTagName().
3168 This benchmark covers 'getElementsByTagName (not in document)',
3169 'getElementsByTagName', 'getElementsByName (not in document)'
3170 and 'getElementsByName' in Dromaeo/dom-query.html, and other DOM
3171 methods that return a NodeList.
3173 Test results in my Linux desktop:
3175 RESULT Bindings: get-elements-by-tag-name= 364.542328875 runs/s
3176 median= 366.972477064 runs/s, stdev= 5.25387955333 runs/s, min= 351.317440402 runs/s, max= 368.421052632 runs/s
3178 RESULT Bindings: get-elements-by-tag-name= 364.341569369 runs/s
3179 median= 366.492146597 runs/s, stdev= 4.867374197 runs/s, min= 352.644836272 runs/s, max= 367.936925099 runs/s
3181 RESULT Bindings: get-elements-by-tag-name= 363.924242967 runs/s
3182 median= 366.013071895 runs/s, stdev= 5.16768212289 runs/s, min= 351.317440402 runs/s, max= 367.936925099 runs/s
3184 RESULT Bindings: get-elements-by-tag-name= 365.332594438 runs/s
3185 median= 367.454068241 runs/s, stdev= 6.17046918572 runs/s, min= 350.0 runs/s, max= 370.37037037 runs/s
3187 RESULT Bindings: get-elements-by-tag-name= 363.999514324 runs/s
3188 median= 366.492146597 runs/s, stdev= 5.31235674905 runs/s, min= 350.877192982 runs/s, max= 368.421052632 runs/s
3190 * Bindings/get-elements-by-tag-name.html: Added.
3192 2012-05-18 Kentaro Hara <haraken@chromium.org>
3194 [perf-test] Add 7 micro benchmarks for DOM bindings
3195 https://bugs.webkit.org/show_bug.cgi?id=86816
3197 Reviewed by Ryosuke Niwa.
3199 We should remove Bindings/dom-attributes.html and instead add more
3200 reasonable micro benchmarks by classifying DOM binding call paths.
3201 This patch adds seven micro benchmarks for DOM bindings.
3203 id-getter.html covers 'element.property' in Dromaeo/dom-attr.html,
3204 'innerHTML' in Dromaeo/dom-modify.html, and other DOM attributes that
3207 id-setter.html covers 'element.property = value' in Dromaeo/dom-attr.html,
3208 and other DOM attributes that sets a String.
3210 undefined-id-getter.html covers undefined DOM attributes that return an empty String.
3212 append-child.html covers 'appendChild' and 'removeChild' in Dromaeo/dom-modify.html.
3214 insert-before.html covers 'insertBefore' in Dromaeo/dom-modify.html and replaceChild().
3216 create-element.html covers 'createElement', 'createTextNode' and 'cloneNode'
3217 in Dromaeo/dom-modify.html, and other DOM methods that return a new Node object.
3219 node-list-access.html covers 'childNodes' in Dromaeo/dom-traverse.html,
3220 and other DOM attributes that access NodeList.
3222 Test results in my Linux desktop:
3225 RESULT Bindings: id-getter= 550.517821097 runs/s
3226 median= 550.688360451 runs/s, stdev= 0.970723739106 runs/s, min= 548.628428928 runs/s, max= 552.070263488 runs/s
3228 RESULT Bindings: id-getter= 550.655839847 runs/s
3229 median= 550.688360451 runs/s, stdev= 1.03312821884 runs/s, min= 549.313358302 runs/s, max= 552.070263488 runs/s
3231 RESULT Bindings: id-getter= 550.277753355 runs/s
3232 median= 550.344180225 runs/s, stdev= 1.19960683464 runs/s, min= 547.945205479 runs/s, max= 552.070263488 runs/s
3234 RESULT Bindings: id-getter= 550.072271009 runs/s
3235 median= 550.344180225 runs/s, stdev= 1.38925152131 runs/s, min= 547.263681592 runs/s, max= 552.070263488 runs/s
3237 RESULT Bindings: id-getter= 548.802050235 runs/s
3238 median= 548.628428928 runs/s, stdev= 1.18244513683 runs/s, min= 545.905707196 runs/s, max= 550.688360451 runs/s
3241 RESULT Bindings: id-setter= 211.370591663 runs/s
3242 median= 210.803689065 runs/s, stdev= 1.4555795889 runs/s, min= 209.973753281 runs/s, max= 214.285714286 runs/s
3244 RESULT Bindings: id-setter= 215.439081352 runs/s
3245 median= 214.797136038 runs/s, stdev= 1.50920388121 runs/s, min= 213.049267643 runs/s, max= 218.446601942 runs/s
3247 RESULT Bindings: id-setter= 216.721698466 runs/s
3248 median= 215.956886352 runs/s, stdev= 1.54090749644 runs/s, min= 214.285714286 runs/s, max= 219.78021978 runs/s
3250 RESULT Bindings: id-setter= 216.343019087 runs/s
3251 median= 215.827338129 runs/s, stdev= 1.46619894553 runs/s, min= 215.053763441 runs/s, max= 218.97810219 runs/s
3253 RESULT Bindings: id-setter= 216.799288017 runs/s
3254 median= 215.956886352 runs/s, stdev= 1.49100776978 runs/s, min= 215.311004785 runs/s, max= 219.78021978 runs/s
3256 [undefined-id-getter]
3257 RESULT Bindings: undefined-id-getter= 494.104255241 runs/s
3258 median= 494.132368875 runs/s, stdev= 1.13092821109 runs/s, min= 490.797546012 runs/s, max= 495.662949195 runs/s
3260 RESULT Bindings: undefined-id-getter= 493.921802916 runs/s
3261 median= 493.827160494 runs/s, stdev= 1.25097443119 runs/s, min= 490.196078431 runs/s, max= 495.662949195 runs/s
3263 RESULT Bindings: undefined-id-getter= 491.976485667 runs/s
3264 median= 492.004920049 runs/s, stdev= 0.947090576896 runs/s, min= 490.196078431 runs/s, max= 493.827160494 runs/s
3266 RESULT Bindings: undefined-id-getter= 491.987710185 runs/s
3267 median= 494.132368875 runs/s, stdev= 8.66602543327 runs/s, min= 454.545454545 runs/s, max= 495.662949195 runs/s
3269 RESULT Bindings: undefined-id-getter= 494.195515847 runs/s
3270 median= 494.437577256 runs/s, stdev= 1.06135681702 runs/s, min= 490.797546012 runs/s, max= 495.662949195 runs/s
3273 RESULT Bindings: append-child= 260.628237026 runs/s
3274 median= 260.926399352 runs/s, stdev= 2.55231060598 runs/s, min= 256.739409499 runs/s, max= 265.604249668 runs/s
3276 RESULT Bindings: append-child= 280.796193436 runs/s
3277 median= 280.791435348 runs/s, stdev= 2.53961321867 runs/s, min= 277.427490542 runs/s, max= 286.085825748 runs/s
3279 RESULT Bindings: append-child= 279.856209714 runs/s
3280 median= 280.25477707 runs/s, stdev= 2.85447647301 runs/s, min= 275.344180225 runs/s, max= 284.237726098 runs/s
3282 RESULT Bindings: append-child= 280.834502714 runs/s
3283 median= 280.25477707 runs/s, stdev= 2.67738046429 runs/s, min= 277.427490542 runs/s, max= 287.206266319 runs/s
3285 RESULT Bindings: append-child= 274.723872106 runs/s
3286 median= 273.291925466 runs/s, stdev= 3.03671746706 runs/s, min= 272.614622057 runs/s, max= 282.413350449 runs/s
3289 RESULT Bindings: insert-before= 180.986913006 runs/s
3290 median= 180.878552972 runs/s, stdev= 0.758038687299 runs/s, min= 180.18018018 runs/s, max= 183.968462549 runs/s
3292 RESULT Bindings: insert-before= 186.339916144 runs/s
3293 median= 186.170212766 runs/s, stdev= 0.869022097127 runs/s, min= 185.676392573 runs/s, max= 189.798339265 runs/s
3295 RESULT Bindings: insert-before= 189.45344838 runs/s
3296 median= 189.349112426 runs/s, stdev= 0.811854866567 runs/s, min= 187.79342723 runs/s, max= 192.539109507 runs/s
3298 RESULT Bindings: insert-before= 189.363295991 runs/s
3299 median= 189.349112426 runs/s, stdev= 0.75387713097 runs/s, min= 188.014101058 runs/s, max= 192.076830732 runs/s
3301 RESULT Bindings: insert-before= 189.252041642 runs/s
3302 median= 189.349112426 runs/s, stdev= 0.840447225363 runs/s, min= 187.573270809 runs/s, max= 192.076830732 runs/s
3305 RESULT Bindings: create-element= 280.675830077 runs/s
3306 median= 280.701824914 runs/s, stdev= 0.788606343054 runs/s, min= 279.441117764 runs/s, max= 282.542885974 runs/s
3308 RESULT Bindings: create-element= 276.427631436 runs/s
3309 median= 277.227722772 runs/s, stdev= 3.39874667549 runs/s, min= 262.417994377 runs/s, max= 279.162512463 runs/s
3311 RESULT Bindings: create-element= 277.156894411 runs/s
3312 median= 277.227722772 runs/s, stdev= 1.13255119226 runs/s, min= 274.914089347 runs/s, max= 278.884462151 runs/s
3314 RESULT Bindings: create-element= 278.066825356 runs/s
3315 median= 278.191822254 runs/s, stdev= 0.686497782792 runs/s, min= 276.953511375 runs/s, max= 279.162512463 runs/s
3317 RESULT Bindings: create-element= 276.431538109 runs/s
3318 median= 276.406712734 runs/s, stdev= 0.759593662298 runs/s, min= 275.229357798 runs/s, max= 278.053624628 runs/s
3321 RESULT Bindings: node-list-access= 222.747504073 runs/s
3322 median= 222.772277228 runs/s, stdev= 0.789027527555 runs/s, min= 221.674876847 runs/s, max= 224.159402242 runs/s
3324 RESULT Bindings: node-list-access= 220.722448287 runs/s
3325 median= 221.266217576 runs/s, stdev= 1.65463497875 runs/s, min= 217.391304348 runs/s, max= 222.222222222 runs/s
3327 RESULT Bindings: node-list-access= 222.195870443 runs/s
3328 median= 222.222222222 runs/s, stdev= 0.489709262091 runs/s, min= 221.13022113 runs/s, max= 223.048327138 runs/s
3330 RESULT Bindings: node-list-access= 221.431121677 runs/s
3331 median= 221.538545435 runs/s, stdev= 0.608292116087 runs/s, min= 220.048899756 runs/s, max= 222.772277228 runs/s
3333 RESULT Bindings: node-list-access= 219.001367135 runs/s
3334 median= 221.538545435 runs/s, stdev= 4.65773933007 runs/s, min= 209.973753281 runs/s, max= 222.496909765 runs/s
3336 * Bindings/append-child.html: Added.
3337 * Bindings/create-element.html: Added.
3338 * Bindings/id-getter.html: Added.
3339 * Bindings/id-setter.html: Added.
3340 * Bindings/insert-before.html: Added.
3341 * Bindings/node-list-access.html: Added.
3342 * Bindings/undefined-id-getter.html: Added.
3344 2012-05-18 Kentaro Hara <haraken@chromium.org>
3346 [perf-test] Add a binding benchmark for div.setAttribute()
3347 https://bugs.webkit.org/show_bug.cgi?id=86815
3349 Reviewed by Ryosuke Niwa.
3351 We should remove Bindings/dom-attributes.html and instead add more
3352 reasonable micro benchmarks by classifying DOM binding call paths.
3354 This patch adds a benchmark for div.setAttribute(). This benchmark
3355 covers 'setAttribute' in Dromaeo/dom-attr.html and other DOM methods
3356 that return an undefined.
3358 Test results in my Linux desktop:
3360 RESULT Bindings: set-attribute= 793.745073252 runs/s
3361 median= 791.589665765 runs/s, stdev= 6.00467159709 runs/s, min= 785.27607362 runs/s, max= 808.080808081 runs/s
3363 RESULT Bindings: set-attribute= 790.858444164 runs/s
3364 median= 787.918921436 runs/s, stdev= 7.86264953655 runs/s, min= 780.234070221 runs/s, max= 806.04534005 runs/s
3366 RESULT Bindings: set-attribute= 787.277571417 runs/s
3367 median= 784.31372549 runs/s, stdev= 7.45363346657 runs/s, min= 778.588807786 runs/s, max= 804.020100503 runs/s
3369 RESULT Bindings: set-attribute= 782.401393791 runs/s
3370 median= 779.062978802 runs/s, stdev= 6.48250081621 runs/s, min= 777.642770352 runs/s, max= 796.019900498 runs/s
3372 RESULT Bindings: set-attribute= 791.792516608 runs/s
3373 median= 791.556728232 runs/s, stdev= 6.49182980397 runs/s, min= 779.220779221 runs/s, max= 808.080808081 runs/s
3375 * Bindings/set-attribute.html: Added.
3377 2012-05-17 Kentaro Hara <haraken@chromium.org>
3379 [perf-test] Add a binding benchmark for div.getAttribute()
3380 https://bugs.webkit.org/show_bug.cgi?id=86814
3382 Reviewed by Ryosuke Niwa.
3384 We should remove Bindings/dom-attributes.html and instead add more
3385 reasonable micro benchmarks by classifying DOM binding call paths.
3387 This patch adds a benchmark for div.getAttribute(). This benchmark
3388 covers 'getAttribute' in Dromaeo/dom-attr.html, and other DOM methods
3389 that return a String.
3391 Test results in my Linux desktop:
3393 RESULT Bindings: get-attribute= 250.088158538 runs/s
3394 median= 250.469728765 runs/s, stdev= 4.66551901315 runs/s, min= 240.673886883 runs/s, max= 256.739409499 runs/s
3396 RESULT Bindings: get-attribute= 250.209764698 runs/s
3397 median= 250.626959986 runs/s, stdev= 4.12030002477 runs/s, min= 241.254523522 runs/s, max= 255.102040816 runs/s
3399 RESULT Bindings: get-attribute= 248.907532887 runs/s
3400 median= 250.312891114 runs/s, stdev= 3.23173125874 runs/s, min= 240.673886883 runs/s, max= 251.572327044 runs/s
3402 RESULT Bindings: get-attribute= 250.243680844 runs/s
3403 median= 250.783797637 runs/s, stdev= 4.19327170024 runs/s, min= 240.963855422 runs/s, max= 255.102040816 runs/s
3405 RESULT Bindings: get-attribute= 245.329046608 runs/s
3406 median= 244.948040416 runs/s, stdev= 2.24314248534 runs/s, min= 240.384615385 runs/s, max= 248.756218905 runs/s
3408 * Bindings/get-attribute.html: Added.
3410 2012-05-17 Kentaro Hara <haraken@chromium.org>
3412 [perf-test] Add a binding benchmark for getElementById()
3413 https://bugs.webkit.org/show_bug.cgi?id=86808
3415 Reviewed by Ryosuke Niwa.
3417 Currently Bindings/dom-attributes.html is just a collection
3418 of random DOM attributes and methods. We should remove it and
3419 instead add more reasonable micro benchmarks by classifying
3420 DOM binding call paths.
3422 This patch adds a benchmark for document.getElementById(),
3423 which covers other DOM methods that return a Node Object.
3425 The reason why we want to add a benchmark for document.getElementById()
3426 in spite of the fact that Dromaeo/dom-query.html is already testing
3427 document.getElementById(), is that Dromaeo/dom-query.html outputs one
3428 result for several benchmarks (i.e. getElementById().nodeType,
3429 getElementsByTagName()[0].nodeType etc), and thus we cannot observe
3430 regression of getElementById() itself. (Catching regression of