2014-01-02 Myles C. Maxfield Allow ImageBuffer to re-use IOSurfaces https://bugs.webkit.org/show_bug.cgi?id=125477 Reviewed by Geoff Garen. This test times creating a variety of different sizes of canvases once some have already been created. The second creation of the canvases should re-use the existing IOSurfaces. * Canvas/reuse.html: Added. 2013-12-23 Commit Queue Unreviewed, rolling out r160945. http://trac.webkit.org/changeset/160945 https://bugs.webkit.org/show_bug.cgi?id=126164 Seems to have broken multiple canvas tests (Requested by ap on #webkit). * Canvas/reuse.html: Removed. 2013-12-09 Myles C. Maxfield Allow ImageBuffer to re-use IOSurfaces https://bugs.webkit.org/show_bug.cgi?id=125477 Reviewed by Geoff Garen. This test times creating a variety of different sizes of canvases once some have already been created. The second creation of the canvases should re-use the existing IOSurfaces. * Canvas/reuse.html: Added. 2013-12-15 Ryosuke Niwa REGRESSION: 2x regression on Dromaeo DOM query tests https://bugs.webkit.org/show_bug.cgi?id=125377 Reviewed by Filip Pizlo. Added a micro-benchmark for updating a named property on document. * Bindings/update-name-getter.html: Added. * Skipped: 2013-12-03 Manuel Rego Casasnovas [CSS Regions] Fix Layout/RegionsSelection.html in Mac platform https://bugs.webkit.org/show_bug.cgi?id=124963 Reviewed by Ryosuke Niwa. Layout/RegionsSelection.html introduced in r159488 was not working in Mac platform because of it was trying to use mouse events out of the window dimensions. Use collapse() and extend() methods from Selection object to solve the issue. * Layout/resources/regions.js: Use collapse() and extend() instead of mouse events. 2013-11-27 Ryosuke Niwa Build fix after r159805. * resources/runner.js: 2013-11-26 Sergio Villar Senin [CSS Grid Layout] Support grid-definition-{rows|columns} repeat() syntax https://bugs.webkit.org/show_bug.cgi?id=103312 Reviewed by Andreas Kling. Use the repeat() syntax to build the huge grids used by the performance tests. * Layout/auto-grid-lots-of-data.html: * Layout/fixed-grid-lots-of-data.html: 2013-11-26 Ryosuke Niwa Record subtest values in Dromaeo tests https://bugs.webkit.org/show_bug.cgi?id=124498 Reviewed by Andreas Kling. Made Dromaeo's test runner report values in DRT.progress via newly added PerfTestRunner.reportValues. * Dromaeo/resources/dromaeorunner.js: (.): Moved the definition out of DRT.setup. (DRT.setup): Ditto. (DRT.testObject): Extracted from DRT.setup. Set the subtest name and continueTesting. continueTesting is set true for subtests; i.e. when name is specified. (DRT.progress): Call PerfTestRunner.reportValues to report subtest results. (DRT.teardown): Call PerfTestRunner.reportValues instead of measureValueAsync. * resources/runner.js: Made various changes for newly added PerfTestRunner.reportValues. (.): Moved the initialization of completedIterations, results, jsHeapResults, and mallocHeapResults into start since they need to be initialized before running each subtest. Initialize logLines here since we need to use the same logger for all subtests. (.start): Initialize the variables mentioned above here. Also respect doNotLogStart used by reportValues. (ignoreWarmUpAndLog): Added doNotLogProgress. Used by reportValues since it reports all values at once. (finish): Compute the metric name such as FrameFrame and Runs from unit. Also don't log or notify done when continueTesting is set on the test object. (PerfTestRunner.reportValues): Added. Reports all values for the main/sub test. 2013-11-26 Ryosuke Niwa Remove replay performance tests as it's not actively maintained https://bugs.webkit.org/show_bug.cgi?id=124764 Reviewed by Andreas Kling. Removed the replay performance tests. We can add them back when time comes. * Replay/Chinese/chinaz.com.replay: Removed. * Replay/Chinese/www.163.com.replay: Removed. * Replay/Chinese/www.alipay.com.replay: Removed. * Replay/Chinese/www.baidu.com.replay: Removed. * Replay/Chinese/www.csdn.net.replay: Removed. * Replay/Chinese/www.douban.com.replay: Removed. * Replay/Chinese/www.hao123.com.replay: Removed. * Replay/Chinese/www.xinhuanet.com.replay: Removed. * Replay/Chinese/www.xunlei.com.replay: Removed. * Replay/Chinese/www.youku.com.replay: Removed. * Replay/English/beatonna.livejournal.com.replay: Removed. * Replay/English/cakewrecks.blogspot.com.replay: Removed. * Replay/English/chemistry.about.com.replay: Removed. * Replay/English/digg.com.replay: Removed. * Replay/English/en.wikipedia.org-rorschach_test.replay: Removed. * Replay/English/icanhascheezburger.com.replay: Removed. * Replay/English/imgur.com-gallery.replay: Removed. * Replay/English/online.wsj.com.replay: Removed. * Replay/English/stockoverflow.com-best-comment.replay: Removed. * Replay/English/www.alibaba.com.replay: Removed. * Replay/English/www.amazon.com-kindle.replay: Removed. * Replay/English/www.apple.com.replay: Removed. * Replay/English/www.cnet.com.replay: Removed. * Replay/English/www.dailymotion.com.replay: Removed. * Replay/English/www.ehow.com-prevent-fire.replay: Removed. * Replay/English/www.filestube.com-amy-adams.replay: Removed. * Replay/English/www.foxnews.replay: Removed. * Replay/English/www.huffingtonpost.com.replay: Removed. * Replay/English/www.imdb.com-twilight.replay: Removed. * Replay/English/www.mozilla.com-all-order.replay: Removed. * Replay/English/www.php.net.replay: Removed. * Replay/English/www.reddit.com.replay: Removed. * Replay/English/www.telegraph.co.uk.replay: Removed. * Replay/English/www.w3.org-htmlcss.replay: Removed. * Replay/English/www.w3schools.com-html.replay: Removed. * Replay/English/www.youtube.com-music.replay: Removed. * Replay/French/www.orange.fr.replay: Removed. * Replay/Italian/www.repubblica.it.replay: Removed. * Replay/Japanese/2ch.net-newsplus.replay: Removed. * Replay/Japanese/entameblog.seesaa.net.replay: Removed. * Replay/Japanese/ja.wikipedia.org.replay: Removed. * Replay/Japanese/www.hatena.ne.jp.replay: Removed. * Replay/Japanese/www.livedoor.com.replay: Removed. * Replay/Japanese/www.nicovideo.jp.replay: Removed. * Replay/Japanese/www.rakuten.co.jp.replay: Removed. * Replay/Japanese/www.yahoo.co.jp.replay: Removed. * Replay/Korean/www.naver.com.replay: Removed. * Replay/Persian/blogfa.com.replay: Removed. * Replay/Polish/www.wp.pl.replay: Removed. * Replay/Portuguese/www.uol.com.br.replay: Removed. * Replay/Russian/lenta.ru.replay: Removed. * Replay/Russian/vkontakte.ru-help.replay: Removed. * Replay/Russian/www.ixbt.com.replay: Removed. * Replay/Russian/www.kp.ru.replay: Removed. * Replay/Russian/www.liveinternet.ru.replay: Removed. * Replay/Russian/www.pravda.ru.replay: Removed. * Replay/Russian/www.rambler.ru.replay: Removed. * Replay/Russian/www.ucoz.ru.replay: Removed. * Replay/Russian/www.yandex.ru.replay: Removed. * Replay/Spanish/www.taringa.net.replay: Removed. * Replay/Swedish/www.flashback.se.replay: Removed. * Replay/Swedish/www.tradera.com.replay: Removed. * Replay/www.google.com.replay: Removed. * Replay/www.techcrunch.com.replay: Removed. * Replay/www.youtube.com.replay: Removed. 2013-11-22 Ryosuke Niwa Layout Test editing/deleting/password-delete-performance.html is failing https://bugs.webkit.org/show_bug.cgi?id=124781 Reviewed by Alexey Proskuryakov. Add a new performance test to replace editing/deleting/password-delete-performance.html. We skip this test by default since it's a micro benchmark. * Interactive/DeletingInPasswordField.html: Added. * Skipped: 2013-11-18 Sergio Villar Senin [CSS Grid Layout] Improve content-sized track layout https://bugs.webkit.org/show_bug.cgi?id=124408 Reviewed by Dean Jackson. From Blink r156122 by New test to check the performance of layouting grids with content sized tracks. * Layout/auto-grid-lots-of-data.html: Added. 2013-11-08 Sergio Villar Senin [CSS Grid Layout] Run the content-sized tracks sizing algorithm only when required https://bugs.webkit.org/show_bug.cgi?id=124039 Reviewed by Dean Jackson. From Blink r156028 and r156168 by . New performance tests for layouts in grids with fixed size tracks. * Layout/fixed-grid-lots-of-data.html: Added. 2013-11-19 Manuel Rego Casasnovas [CSS Regions] Add performance test for selection https://bugs.webkit.org/show_bug.cgi?id=119230 Reviewed by Ryosuke Niwa. Add new performance test for selection in CSS Regions. It checks a selection from the first region to the last one, passing through all the regions. Test is skipped for now while implementation of selection in CSS Regions is still evolving. * Layout/RegionsSelection.html: Added. * Layout/resources/regions.js: (.): * Skipped: 2013-11-18 Ryosuke Niwa Simplify and reformat the output of performance tests inside test runners https://bugs.webkit.org/show_bug.cgi?id=124496 Reviewed by Antti Koivisto. As a preparation to support subtests for Dromaeo and DoYouEvenBench, simplify the output performance tests generate. Also modernize the output to better support "metric" concept we introduced a while ago. New output on Dromaeo/dom-attr looks like this: ----------------------------------------------- Running 5 times getAttribute -> [1105, 1108, 1134, 1137, 1154] element.property -> [1634, 1655, 1685, 1696, 1723] setAttribute -> [646.3536463536464, 651, 651, 656.3436563436563, 658] element.property = value -> [934, 949, 963, 964, 974] element.expando = value -> [419, 419.5804195804196, 421.57842157842157, 425.57442557442556, 429] element.expando -> [501, 517, 519.4805194805194, 521.4785214785214, 525] 1: 117.40644785571585 runs/s 2: 118.84720469666297 runs/s 3: 119.80547640905021 runs/s 4: 120.51886194758805 runs/s 5: 121.51924380569295 runs/s :Time -> [117.40644785571585, 118.84720469666297, 119.80547640905021, 120.51886194758805, 121.51924380569295] runs/s mean: 119.619446942942 runs/s median: 119.80547640905021 runs/s stdev: 1.5769040458730506 runs/s min: 117.40644785571585 runs/s max: 121.51924380569295 runs/s ----------------------------------------------- * Dromaeo/resources/dromaeorunner.js: (DRT.progress): Use the new format for subtest reports. * resources/runner.js: (.): Declare verboseLogging, which is set to true outside of test runners. (PerfTestRunner.logInfo): Use verboseLogging instead of directly checking window.testRunner. (PerfTestRunner.logDetail): Added. Logs informative text with a label such as "mean: 123 s" with 4-space indentation. (PerfTestRunner.logStatistics): Use logDetail. (.start): Initialize verboseLogging. Also log "Running 20 times" as an informative log using logDetail. (.ignoreWarmUpAndLog): Use logDetail for showing the progress. These logs were useless inside test runners anyway because perftest didn't get to see any output until the test finished running. (.finish): Call logStatistics with metric name as opposed to a label. Each metric name is now prefixed with ':' to be distinguishable from subtests, making the new format forward compatible. 2013-11-18 Ryosuke Niwa [Performance tests] Interactive/SelectAll.html throws an exception https://bugs.webkit.org/show_bug.cgi?id=124495 Reviewed by Antti Koivisto Return a boolean indicating whether more values are needed or not in PerfTestRunner.measureValueAsync so that runTest can terminate gracefully. * Interactive/SelectAll.html: (runTest): Don't schedule a timer for runTest if we've got enough values. * resources/runner.js: (PerfTestRunner.measureValueAsync): Returns true iff more values are needed. 2013-11-13 Antti Koivisto This was supposed to test overflow-wrap:break-word instead of word-break:break-all. Rubber-stamped by Andreas Kling. * Layout/line-layout-simple.html: 2013-11-12 Andreas Kling Remove body onload handler from html5-8266.html that was causing the test to sometimes finish before doing anything interesting. Unskip Parser/HTML5-8266-FullRender.html now that it's stable. Rubber-stamped by Antti Koivisto. * Parser/resources/html5-8266.html: * Skipped: 2013-11-12 Andreas Kling Neutralize external resource loads in the new HTML5 spec copy. Skip Parser/HTML5-8266-FullRender.html until I can make it less flaky. * Parser/resources/html5-8266.html: * Skipped: 2013-11-12 Andreas Kling Import a fresh version of the full HTML5 spec for perf testing. Rubber-stamped by Antti Koivisto. * Parser/HTML5-8266-FullRender.html: Added. * Parser/HTML5-8266-ParseOnly.html: Added. * Parser/resources/html5-8266.html: Added. 2013-11-09 Antti Koivisto Add subtest for word-break:break-all to Layout/line-layout-simple.html https://bugs.webkit.org/show_bug.cgi?id=124103 Reviewed by Andreas Kling. * Layout/line-layout-simple.html: Combination "white-space:pre-wrap; word-break:break-all" is common for pure text. 2013-11-08 Antti Koivisto Add line layout performance test that exercises more cases https://bugs.webkit.org/show_bug.cgi?id=124041 Reviewed by Anders Carlsson. The existing line-layout.html covers the most basic left-aligned case only. Add a test with more coverage for things that are mostly not yet supported by the simple line layout path: - centered text - right aligned text - justified text - pre - white-space:pre-wrap - text with simple inlines - text with br * Layout/line-layout-simple.html: Added. 2013-10-25 Sergio Villar Senin Use a Vector instead of HashSet to computed the orderValues in RenderFlexibleBox https://bugs.webkit.org/show_bug.cgi?id=118620 Reviewed by Antti Koivisto. From Blink r152960 by New performance test for layouts in flexboxes. * Layout/flexbox-lots-of-data.html: Added. 2013-10-24 Commit Queue Unreviewed, rolling out r157916. http://trac.webkit.org/changeset/157916 https://bugs.webkit.org/show_bug.cgi?id=123274 Broke Layout/flexbox-lots-of-data.html on perfbot (Requested by ap on #webkit). * Layout/flexbox-lots-of-data.html: Removed. 2013-10-14 Sergio Villar Senin Use a Vector instead of HashSet to computed the orderValues in RenderFlexibleBox https://bugs.webkit.org/show_bug.cgi?id=118620 Reviewed by Antti Koivisto. From Blink r152960 by New performance test for layouts in flexboxes. * Layout/flexbox-lots-of-data.html: Added. 2013-10-06 Ryosuke Niwa DoYouEvenBench: Make it work on Internet Explorer 11 Release Preview https://bugs.webkit.org/show_bug.cgi?id=122406 Reviewed by Darin Adler. On Internet Explorer 11, $(elem).closest('li').data('id') fails to find the containig li of elem once the first item is marked complete or deleted until we get back to the event loop in the jQuery/TodoMVC. Worked around this limitation by overriding app.getTodo to use each item's id computed in advance. Also use $.text instead of execCommand('InsertText') in FlightJS/MailClient since Internet Explorer doesn't support execCommand('InsertText'). Also select the recipient to avoid exceptions. * DoYouEvenBench/benchmark.html: 2013-10-05 Ryosuke Niwa DoYouEvenBench: Add Facebook's React TodoMVC test case https://bugs.webkit.org/show_bug.cgi?id=122379 Reviewed by Andreas Kling. Add React/TodoMVC as a new test case. Somehow we beat Firefox on this one as well. * DoYouEvenBench/benchmark.html: * DoYouEvenBench/todomvc/labs: Added. * DoYouEvenBench/todomvc/labs/architecture-examples: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower.json: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/LICENSE: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/README.md: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/director.js: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/director.min.js: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/ender.js: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/JSXTransformer.js: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/bower.json: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/react.js: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/react.min.js: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.css: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.js: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/bg.png: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/index.html: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/js: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/app.jsx: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/footer.jsx: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/todoItem.jsx: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/utils.jsx: Added. * DoYouEvenBench/todomvc/labs/architecture-examples/react/readme.md: Added. 2013-09-25 Ryosuke Niwa DoYouEvenBench: Add a test case for FlightJS https://bugs.webkit.org/show_bug.cgi?id=121926 Reviewed by Antti Koivisto. Add a FlightJS test case. * DoYouEvenBench/benchmark.html: * DoYouEvenBench/benchmark.js: * DoYouEvenBench/flightjs-example-app: Added. * DoYouEvenBench/flightjs-example-app/LICENSE.md: Added. * DoYouEvenBench/flightjs-example-app/README.md: Added. * DoYouEvenBench/flightjs-example-app/app: Added. * DoYouEvenBench/flightjs-example-app/app/boot: Added. * DoYouEvenBench/flightjs-example-app/app/boot/page.js: Added. * DoYouEvenBench/flightjs-example-app/app/component_data: Added. * DoYouEvenBench/flightjs-example-app/app/component_data/compose_box.js: Added. * DoYouEvenBench/flightjs-example-app/app/component_data/mail_items.js: Added. * DoYouEvenBench/flightjs-example-app/app/component_data/move_to.js: Added. * DoYouEvenBench/flightjs-example-app/app/component_ui: Added. * DoYouEvenBench/flightjs-example-app/app/component_ui/compose_box.js: Added. * DoYouEvenBench/flightjs-example-app/app/component_ui/folders.js: Added. * DoYouEvenBench/flightjs-example-app/app/component_ui/mail_controls.js: Added. * DoYouEvenBench/flightjs-example-app/app/component_ui/mail_items.js: Added. * DoYouEvenBench/flightjs-example-app/app/component_ui/move_to_selector.js: Added. * DoYouEvenBench/flightjs-example-app/app/component_ui/with_select.js: Added. * DoYouEvenBench/flightjs-example-app/app/css: Added. * DoYouEvenBench/flightjs-example-app/app/css/custom.css: Added. * DoYouEvenBench/flightjs-example-app/app/data.js: Added. * DoYouEvenBench/flightjs-example-app/app/templates.js: Added. * DoYouEvenBench/flightjs-example-app/components: Added. * DoYouEvenBench/flightjs-example-app/components/bootstrap: Added. * DoYouEvenBench/flightjs-example-app/components/bootstrap/css: Added. * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.css: Added. * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.min.css: Added. * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap.css: Added. * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap.min.css: Added. * DoYouEvenBench/flightjs-example-app/components/bootstrap/img: Added. * DoYouEvenBench/flightjs-example-app/components/bootstrap/img/glyphicons-halflings-white.png: Added. * DoYouEvenBench/flightjs-example-app/components/bootstrap/img/glyphicons-halflings.png: Added. * DoYouEvenBench/flightjs-example-app/components/bootstrap/js: Added. * DoYouEvenBench/flightjs-example-app/components/bootstrap/js/bootstrap.js: Added. * DoYouEvenBench/flightjs-example-app/components/bootstrap/js/bootstrap.min.js: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/.gitignore: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/CHANGES: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/CONTRIBUTORS.md: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/LICENSE: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/README.md: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/component.json: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-sham.js: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-sham.min.js: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-shim.js: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-shim.min.js: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/package.json: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h-kill.js: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h-matchers.js: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h.js: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/index.html: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine-html.js: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine.css: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine.js: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine_favicon.png: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/json2.js: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-array.js: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-date.js: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-function.js: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-object.js: Added. * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-string.js: Added. * DoYouEvenBench/flightjs-example-app/components/flight: Added. * DoYouEvenBench/flightjs-example-app/components/flight/.travis.yml: Added. * DoYouEvenBench/flightjs-example-app/components/flight/lib: Added. * DoYouEvenBench/flightjs-example-app/components/flight/lib/advice.js: Added. * DoYouEvenBench/flightjs-example-app/components/flight/lib/component.js: Added. * DoYouEvenBench/flightjs-example-app/components/flight/lib/compose.js: Added. * DoYouEvenBench/flightjs-example-app/components/flight/lib/index.js: Added. * DoYouEvenBench/flightjs-example-app/components/flight/lib/logger.js: Added. * DoYouEvenBench/flightjs-example-app/components/flight/lib/registry.js: Added. * DoYouEvenBench/flightjs-example-app/components/flight/lib/utils.js: Added. * DoYouEvenBench/flightjs-example-app/components/flight/tools: Added. * DoYouEvenBench/flightjs-example-app/components/flight/tools/debug: Added. * DoYouEvenBench/flightjs-example-app/components/flight/tools/debug/debug.js: Added. * DoYouEvenBench/flightjs-example-app/components/jasmine-flight: Added. * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/LICENSE.md: Added. * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/README.md: Added. * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/bower.json: Added. * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/lib: Added. * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/lib/jasmine-flight.js: Added. * DoYouEvenBench/flightjs-example-app/components/jasmine-jquery: Added. * DoYouEvenBench/flightjs-example-app/components/jasmine-jquery/lib: Added. * DoYouEvenBench/flightjs-example-app/components/jasmine-jquery/lib/jasmine-jquery.js: Added. * DoYouEvenBench/flightjs-example-app/components/jquery: Added. * DoYouEvenBench/flightjs-example-app/components/jquery/component.json: Added. * DoYouEvenBench/flightjs-example-app/components/jquery/composer.json: Added. * DoYouEvenBench/flightjs-example-app/components/jquery/jquery.js: Added. * DoYouEvenBench/flightjs-example-app/components/jquery/jquery.min.js: Added. * DoYouEvenBench/flightjs-example-app/components/mustache: Added. * DoYouEvenBench/flightjs-example-app/components/mustache/mustache.js: Added. * DoYouEvenBench/flightjs-example-app/components/requirejs: Added. * DoYouEvenBench/flightjs-example-app/components/requirejs/require.js: Added. * DoYouEvenBench/flightjs-example-app/index.html: Added. * DoYouEvenBench/flightjs-example-app/karma.conf.js: Added. * DoYouEvenBench/flightjs-example-app/package.json: Added. * DoYouEvenBench/flightjs-example-app/requireMain.js: Added. 2013-09-19 Ryosuke Niwa DoYouEvenBench: Indentations in benchmark.js and benchmark.html are all messed up https://bugs.webkit.org/show_bug.cgi?id=121597 Reviewed by Anders Carlsson. Fixed indentations. * DoYouEvenBench/benchmark.html: * DoYouEvenBench/benchmark.js: (SimplePromise.prototype.resolve.else): (SimplePromise.prototype.resolve): (BenchmarkRunner.waitForElement.resolveIfReady): (BenchmarkRunner.waitForElement): (BenchmarkRunner._waitAndWarmUp.Fibonacci): (BenchmarkRunner._finalize): 2013-09-19 Ryosuke Niwa Add an AngularJS test to DoYouEvenBench https://bugs.webkit.org/show_bug.cgi?id=121595 Reviewed by Antti Koivisto. * DoYouEvenBench/benchmark.html: * DoYouEvenBench/todomvc/architecture-examples/angularjs: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower.json: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular-mocks: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular-mocks/angular-mocks.js: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular/angular.js: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.css: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.js: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/bg.png: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/index.html: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/js: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/app.js: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/controllers: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/controllers/todoCtrl.js: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoBlur.js: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoEscape.js: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoFocus.js: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/services: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/services/todoStorage.js: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/readme.md: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/test: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/config: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/config/testacular.conf.js: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/package.json: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/readme.md: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/directivesSpec.js: Added. * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/todoCtrlSpec.js: Added. 2013-09-17 Ryosuke Niwa Add a not completely unrealistic DOM Benchmark https://bugs.webkit.org/show_bug.cgi?id=121361 Reviewed by Filip Pizlo. Add a DOM benchmark based on TodoMVC for vanilla JS, Ember.js, Backbone.js, and jQuery. We'll add more frameworks and demo apps as we go. * DoYouEvenBench: Added. * DoYouEvenBench/benchmark.html: Added. * DoYouEvenBench/benchmark.js: Added. (SimplePromise): (SimplePromise.prototype.then): (SimplePromise.prototype.resolve.else): (SimplePromise.prototype.resolve): (BenchmarkRunner.suite): (BenchmarkRunner.waitForElement.resolveIfReady): (BenchmarkRunner.waitForElement): (BenchmarkRunner._removeFrame): (BenchmarkRunner._appendFrame): (BenchmarkRunner._waitAndWarmUp.Fibonacci): (BenchmarkRunner._testName): (BenchmarkRunner._testItemId): (BenchmarkRunner.listSuites.button.onclick): (BenchmarkRunner.listSuites.callNextStep): (BenchmarkRunner.listSuites): (BenchmarkState): (BenchmarkState.prototype.currentSuite): (BenchmarkState.prototype.currentTest): (BenchmarkState.prototype.next): (BenchmarkState.prototype.isFirstTest): (BenchmarkState.prototype.prepareCurrentSuite.frame.onload): (BenchmarkRunner.step): (BenchmarkRunner._runTestAndRecordResults): (BenchmarkRunner._finalize): * DoYouEvenBench/todomvc: Added. * DoYouEvenBench/todomvc/architecture-examples: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/bower.json: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage/backbone.localStorage.js: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone/backbone.js: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/jquery: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/jquery/jquery.js: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.css: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.js: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/bg.png: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/underscore: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/underscore/underscore.js: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/index.html: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/js: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/js/app.js: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/js/collections: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/js/collections/todos.js: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/js/models: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/js/models/todo.js: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/js/routers: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/js/routers/router.js: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/js/views: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/app-view.js: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/todo-view.js: Added. * DoYouEvenBench/todomvc/architecture-examples/backbone/readme.md: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower.json: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter/localstorage_adapter.js: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/handlebars: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/jquery: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/jquery/jquery.js: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.js: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/bg.png: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/index.html: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/js: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/app.js: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todo_controller.js: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todos_controller.js: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/libs: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/libs/ember-data.js: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/store.js: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/todo.js: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/views: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/views/edit_todo_view.js: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/readme.md: Added. * DoYouEvenBench/todomvc/architecture-examples/emberjs/test.html: Added. * DoYouEvenBench/todomvc/architecture-examples/jquery: Added. * DoYouEvenBench/todomvc/architecture-examples/jquery/bower.json: Added. * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components: Added. * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/handlebars: Added. * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/handlebars/handlebars.js: Added. * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/jquery: Added. * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/jquery/jquery.js: Added. * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common: Added. * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.css: Added. * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.js: Added. * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/bg.png: Added. * DoYouEvenBench/todomvc/architecture-examples/jquery/css: Added. * DoYouEvenBench/todomvc/architecture-examples/jquery/css/app.css: Added. * DoYouEvenBench/todomvc/architecture-examples/jquery/index.html: Added. * DoYouEvenBench/todomvc/architecture-examples/jquery/js: Added. * DoYouEvenBench/todomvc/architecture-examples/jquery/js/app.js: Added. * DoYouEvenBench/todomvc/architecture-examples/jquery/readme.md: Added. * DoYouEvenBench/todomvc/license.md: Added. * DoYouEvenBench/todomvc/readme.md: Added. * DoYouEvenBench/todomvc/vanilla-examples: Added. * DoYouEvenBench/todomvc/vanilla-examples/vanillajs: Added. * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower.json: Added. * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components: Added. * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common: Added. * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.css: Added. * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.js: Added. * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/bg.png: Added. * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/index.html: Added. * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js: Added. * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/app.js: Added. * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/controller.js: Added. * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/helpers.js: Added. * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/model.js: Added. * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/store.js: Added. * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/view.js: Added. * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/readme.md: Added. * Skipped: 2013-09-04 Filip Pizlo Introduce a version of SunSpider that runs for a really long time (about 1 sec on my machine) Rubber stamped by Mark Hahnenberg. This isn't meant for serious VM-to-VM performance comparisons, but it is useful to see how these benchmarks behave when they're completely warmed up. * LongSpider: Added. * LongSpider/3d-cube.js: Added. (DrawLine): (CalcCross): (CalcNormal): (CreateP): (MMulti): (VMulti): (VMulti2): (MAdd): (Translate): (RotateX): (RotateY): (RotateZ): (DrawQube): (Loop): (Init): * LongSpider/3d-morph.js: Added. (loops.3500.nx.120.nz.120.morph): * LongSpider/3d-raytrace.js: Added. (createVector): (sqrLengthVector): (lengthVector): (addVector): (subVector): (scaleVector): (normaliseVector): (add): (sub): (scalev): (dot): (scale): (cross): (normalise): (transformMatrix): (invertMatrix): (Triangle): (Triangle.prototype.intersect): (Scene): (Scene.prototype.intersect): (Scene.prototype.blocked): (Camera): (Camera.prototype.generateRayPair): (renderRows): (Camera.prototype.render): (raytraceScene.floorShader): (raytraceScene): (arrayToCanvasCommands): * LongSpider/access-binary-trees.js: Added. (TreeNode): (TreeNode.prototype.itemCheck): (bottomUpTree): * LongSpider/access-fannkuch.js: Added. (fannkuch): * LongSpider/access-nbody.js: Added. (Body): (Body.prototype.offsetMomentum): (Jupiter): (Saturn): (Uranus): (Neptune): (Sun): (NBodySystem): (NBodySystem.prototype.advance): (NBodySystem.prototype.energy): * LongSpider/access-nsieve.js: Added. (pad): (nsieve): (sieve): * LongSpider/bitops-3bit-bits-in-byte.js: Added. (fast3bitlookup): (TimeFunc): * LongSpider/bitops-bits-in-byte.js: Added. (bitsinbyte): (TimeFunc): * LongSpider/bitops-nsieve-bits.js: Added. (pad): (primes): (sieve): * LongSpider/controlflow-recursive.js: Added. (ack): (fib): (tak): * LongSpider/crypto-aes.js: Added. (Cipher): (SubBytes): (ShiftRows): (MixColumns): (AddRoundKey): (KeyExpansion): (SubWord): (RotWord): (AESEncryptCtr): (AESDecryptCtr): (escCtrlChars): * LongSpider/crypto-md5.js: Added. (hex_md5): (b64_md5): (str_md5): (hex_hmac_md5): (b64_hmac_md5): (str_hmac_md5): (md5_vm_test): (core_md5): (md5_cmn): (md5_ff): (md5_gg): (md5_hh): (md5_ii): (core_hmac_md5): (safe_add): (bit_rol): (str2binl): (binl2str): (binl2hex): (binl2b64): * LongSpider/crypto-sha1.js: Added. (hex_sha1): (b64_sha1): (str_sha1): (hex_hmac_sha1): (b64_hmac_sha1): (str_hmac_sha1): (sha1_vm_test): (core_sha1): (sha1_ft): (sha1_kt): (core_hmac_sha1): (safe_add): (rol): (str2binb): (binb2str): (binb2hex): (binb2b64): * LongSpider/date-format-tofte.js: Added. (arrayExists): (.a): (.A): (.B): (.d): (.D): (.F): (.g): (.G): (.h): (.H): (.i): (.j): (.l): (.L): (.m): (.M): (.n): (.O): (.r): (.S): (.s): (.t): (.U): (.W): (.w): (.Y): (.y): (.z): (Date.prototype.formatDate): * LongSpider/date-format-xparb.js: Added. (Date.prototype.dateFormat): (Date.createNewFormat): (Date.getFormatCode): (Date.parseDate): (Date.createParser): (Date.formatCodeToRegex): (Date.prototype.getTimezone): (Date.prototype.getGMTOffset): (Date.prototype.getDayOfYear): (Date.prototype.getWeekOfYear): (Date.prototype.isLeapYear): (Date.prototype.getFirstDayOfMonth): (Date.prototype.getLastDayOfMonth): (Date.prototype.getDaysInMonth): (Date.prototype.getSuffix): (String.escape): * LongSpider/math-cordic.js: Added. (FIXED): (FLOAT): (DEG2RAD): (cordicsincos): (cordic): * LongSpider/math-partial-sums.js: Added. (partial): * LongSpider/math-spectral-norm.js: Added. (A): (Au): (Atu): (AtAu): (spectralnorm): * LongSpider/string-base64.js: Added. (toBase64): (base64ToString): * LongSpider/string-fasta.js: Added. (rand): (makeCumulative): (fastaRepeat): (fastaRandom): * LongSpider/string-tagcloud.js: Added. (.Array.prototype.toJSONString): (.Boolean.prototype.toJSONString): (.Date.prototype.toJSONString): (.Number.prototype.toJSONString): (.Object.prototype.toJSONString): (.): 2013-06-10 Radu Stavila [CSS Regions] Rename region-overflow to region-fragment https://bugs.webkit.org/show_bug.cgi?id=117397 Renamed -webkit-region-overflow to -webkit-region-fragment according to the new working draft at http://www.w3.org/TR/2013/WD-css3-regions-20130528/#the-region-fragment-property Reviewed by Alexander Pavlov. * Layout/resources/regions.css: 2013-06-05 Zan Dobersek Move MemoryInfo under window.internals https://bugs.webkit.org/show_bug.cgi?id=117197 Reviewed by Ryosuke Niwa. * resources/runner.js: Remove the setMemoryEnabled call, it's not required anymore as the memory info is now accessed through window.internals and doesn't need the setting to be enabled to work. 2013-05-30 Ryosuke Niwa Web Inspector: tests in PerformanceTests/inspector/ are timing out https://bugs.webkit.org/show_bug.cgi?id=77024 Reviewed by Andreas Kling. These tests have been disabled for ages and don't conform to the standard format. * Skipped: * inspector: Removed. * inspector/console-300-lines.html: Removed. * inspector/first-open-elements.html: Removed. * inspector/first-open-resources.html: Removed. * inspector/first-open-scripts.html.broken: Removed. * inspector/heap-snapshot-advanced.html: Removed. * inspector/heap-snapshot-performance-test.js: Removed. * inspector/heap-snapshot.html: Removed. * inspector/inspector-startup-time.html: Removed. * inspector/network-append-30-requests.html.broken: Removed. * inspector/performance-test.js: Removed. * inspector/show-panel.html.broken: Removed. 2013-05-27 Benjamin Poulain Add a balanced benchmark for QuerySelector https://bugs.webkit.org/show_bug.cgi?id=116811 Reviewed by Sam Weinig. The goal of this benchmark is to have an overview of querySelector as typically used by webpages. It uses queries similar to what is used by popular websites and applies somewhat similar weighting for each type of query. The tree used for the queries is intentionally kept simple to ensure we measure QuerySelector a not purely the overhead of traversal. * CSS/QuerySelector.html: Added. * CSS/resources/query-selector.html: Added. 2013-05-18 Ryosuke Niwa Add a performance test for copying https://bugs.webkit.org/show_bug.cgi?id=116394 Reviewed by Andreas Kling. Added. We're going to skip this test by default since it's such a microbenchmark, and also because it currently takes 30 minutes to run. As insane as it sounds, each copy takes rouhgly 57 seconds. Running Interactive/CopyAll.html (1 of 1) RESULT Interactive: CopyAll: Time= 57618.05 ms median= 57135.0 ms, stdev= 1542.07271571 ms, min= 55095.0 ms, max= 60913.0 ms RESULT Interactive: CopyAll: JSHeap= 102811.2 bytes median= 103272.0 bytes, stdev= 1115.28148913 bytes, min= 100648.0 bytes, max= 103504.0 bytes RESULT Interactive: CopyAll: Malloc= 446408712.0 bytes median= 459156772.0 bytes, stdev= 20007346.3266 bytes, min= 415564040.0 bytes, max= 462011928.0 bytes Finished: 1766.883236 s * Interactive/CopyAll.html: Added. * Skipped: 2013-05-13 Seokju Kwon Web Inspector: Get rid of native-memory-snapshot in performance test https://bugs.webkit.org/show_bug.cgi?id=116013 Reviewed by Andreas Kling. Remove native-memory-snapshot.html from PerformanceTests. * inspector/native-memory-snapshot.html: Removed. * inspector/performance-test.js: (initialize_TimeTracker.Timer): (initialize_TimeTracker.Timer.prototype._dump): (initialize_TimeTracker.InspectorTest.runPerformanceTest): 2013-04-10 Benjamin Poulain Mass remove all the empty directories Rubberstamped by Ryosuke Niwa. * Bindings/resources: Removed. 2013-04-02 Glenn Adams Need japanese line layout performance test https://bugs.webkit.org/show_bug.cgi?id=113811 Reviewed by Ryosuke Niwa. Will be used by https://bugs.webkit.org/show_bug.cgi?id=105692 to test potential performance regression for Japanese (and other CJK) line break changes. * Layout/LineLayoutJapanese.html: Added. * Skipped: Skip this test by default. 2013-03-29 Andrei Bucur [CSS Regions] Add performance tests https://bugs.webkit.org/show_bug.cgi?id=113303 Reviewed by Antti Koivisto. Add simple performance tests for regions, without nested named flows: a region chain and a flow article. The regions.js script is used to generate the tests and can set the following parameters: the number of regions, the number of paragraphs, the regions width, height, max-height and the propability of a forced break after a paragraph. The tests are skipped for now. They should be enabled once the regions performance is stable enough to create a baseline. * Layout/RegionsAuto.html: Added. A few regions with a short article. The regions have auto-height and some paragraphs (80%) have forced breaks after. Stress test for the auto-height algorithm. * Layout/RegionsAutoMaxHeight.html: Added. A lot of regions with auto-height and max-height. Tests the impact of max-height on the auto-height algorithm. * Layout/RegionsFixed.html: Added. A lot of regions with a long article. Some paragraphs (50%) have forced breaks after. Stress test for the regions layout algorithm. * Layout/RegionsFixedShort.html: Added. A lot of short regions with a long content. Tests the impact of unforced breaks on the layout speed. * Layout/resources/regions.css: Added. (.articleInFlow): (.articleNone): (.region): (.contentParagraph): (.breakAfter): (.regionContainer): * Layout/resources/regions.js: Added. (.): * Skipped: 2013-03-26 Ryosuke Niwa Add a performance tests for selecting all content in a document https://bugs.webkit.org/show_bug.cgi?id=113358 Reviewed by Levi Weintraub. Add a performance test for selecting all. We wait for paint to happen by setTimeout(~, 0). Example outputs: RESULT Interactive: SelectAll: Time= 652.6 ms median= 644.5 ms, stdev= 54.6177144967 ms, min= 599.0 ms, max= 773.0 ms RESULT Interactive: SelectAll: Time= 654.4 ms median= 633.5 ms, stdev= 55.9223145368 ms, min= 600.0 ms, max= 769.0 ms RESULT Interactive: SelectAll: Time= 657.9 ms median= 640.0 ms, stdev= 54.1420159833 ms, min= 604.0 ms, max= 774.0 ms * Interactive/SelectAll.html: Added. * Skipped: 2013-03-19 Alexei Filippov Web Inspector: Fix heap profiler performance tests. https://bugs.webkit.org/show_bug.cgi?id=112701 Reviewed by Yury Semikhatsky. The tests were broken by profile types refactoring. * inspector/heap-snapshot-performance-test.js: (test.performanceTest.step0): (test.performanceTest.step1): 2013-03-05 Eric Seidel Add html-parser-threaded perf test now that the threaded parser is enabled by default https://bugs.webkit.org/show_bug.cgi?id=111200 Reviewed by Ryosuke Niwa. The old srcdoc test no longer triggers the threaded parser due to compatibility fixes. * Parser/html-parser-threaded.html: Renamed from PerformanceTests/Parser/html-parser-srcdoc.html. * Skipped: Unfortunately this new test is still skipped too. 2013-03-04 Eric Seidel Add PerformanceTest for document startup via iframe append/remove https://bugs.webkit.org/show_bug.cgi?id=111389 Reviewed by Kentaro Hara. We'd like pages with lots of iframes to be fast. This test shows that at least for V8/Chromium we spend all our time booting v8. On my 32-core linux machine I see about 70 runs/sec in Release and 5 runs/sec in Debug. * DOM/iframe-append-remove.html: Added. 2013-03-03 Ryosuke Niwa Some perf. tests have variances that differ greatly between runs https://bugs.webkit.org/show_bug.cgi?id=97510 Reviewed by Benjamin Poulain. In order to control the number of iterations and processes to use from run-perf-tests, always use 20 iterations on all tests except Dromaeo, where even doing 5 iterations is prohibitively slow, by default. Without this change, it'll become extremely hard for us to tweak the number of iterations and processes to use from run-perf-tests. * Animation/balls.html: * DOM/DOMTable.html: * DOM/resources/dom-perf.js: (runBenchmarkSuite.PerfTestRunner.measureTime): * Dromaeo/resources/dromaeorunner.js: * Layout/floats_100_100.html: * Layout/floats_100_100_nested.html: * Layout/floats_20_100.html: * Layout/floats_20_100_nested.html: * Layout/floats_2_100.html: * Layout/floats_2_100_nested.html: * Layout/floats_50_100.html: * Layout/floats_50_100_nested.html: * Layout/subtree-detaching.html: * Parser/html5-full-render.html: * SVG/SvgHitTesting.html: * resources/runner.js: * resources/results-template.html: 2013-02-25 Ryosuke Niwa Use perf.webkit.org JSON format in results page https://bugs.webkit.org/show_bug.cgi?id=110842 Reviewed by Benjamin Poulain. Updated the results page template to use the new JSON format. Since new JSON format doesn't contain statistics such as stdev and min, added statistics.js to compute these values. Also use 95% percentile confidence interval instead of standard deviation in various places. * resources/results-template.html: Added statistics.js as dependency. (TestResult): Updated to take a metric instead of its test. Replaced stdev() with confidenceIntervalDelta() now that we have a fancy Statistics class. (TestRun.webkitRevision): (PerfTestMetric): Renamed from PerfTest since this object now encapsulates each measurement (such as time, JS heap, and malloc) in test. Also added a conversion table from a metric name to a unit since new format doesn't contain units. (PerfTestMetric.name): Updated to compute the full metric name from test name and metric name, matching the old behavior. (PerfTestMetric.isMemoryTest): Explicitly look for 'JSHeap' and 'Malloc' tests. (PerfTestMetric.smallerIsBetter): (attachPlot): Deleted the code to deal with tests that don't provide individual iteration measurement since such tests no longer exist. Also fixed up the code compute y-axis range. (createTableRow.markupForRun): Updated to use confidenceIntervalDelta() instead of stdev(). (init.addTests): Added. Recursively add metrics. * resources/statistics.js: Added. Imported from perf.webkit.org. (Statistics.max): (Statistics.min): (Statistics.sum): (Statistics.squareSum): (Statistics.sampleStandardDeviation): (Statistics.supportedConfidenceLevels): (Statistics.confidenceIntervalDelta): (Statistics.confidenceInterval): 2013-02-11 Alexei Filippov Web Inspector: Split Profiler domain in protocol into Profiler and HeapProfiler https://bugs.webkit.org/show_bug.cgi?id=108653 Reviewed by Yury Semikhatsky. Currently CPU and heap profilers share the same domain 'Profiler' in the protocol. In fact these two profile types have not too much in common. So put each into its own domain. It should also help when Profiles panel gets split into several tools. This is the phase 1 which adds InspectorHeapProfilerAgent but doesn't change the original InspectorProfilerAgent. * inspector/heap-snapshot-performance-test.js: (test.performanceTest.cleanup): 2013-02-05 Dominik Röttsches Add a performance test for arabic line breaking https://bugs.webkit.org/show_bug.cgi?id=108948 Reviewed by Eric Seidel. Adding a perfomance test based to exercise the complex font path used in rendering arabic script. * Layout/ArabicLineLayout.html: Added. * Skipped: New test skipped by default as per Ryosuke's request. 2013-01-23 Yury Semikhatsky Web Inspector: some measurements are missing in PerformanceTests/inspector/heap-*.html https://bugs.webkit.org/show_bug.cgi?id=107687 Reviewed by Pavel Feldman. * inspector/heap-snapshot-performance-test.js: override methods on JSHeapSnapshot instead of HeapSnapshot, otherwise overrides from JSHeapSnapshot will rule. 2013-01-18 Ryosuke Niwa Skip DOM/TraverseChildNodes.html as intended in r140070. * Skipped: 2013-01-17 Dominic Cooney Unreviewed, re-land r140051. I overzealously rolled this out; the test was intended to be skipped, but was not skipped because of a typo in Skipped. See * Parser/html-parser-srcdoc.html: Added. * Skipped: Big-P Parser. 2013-01-17 Sheriff Bot Unreviewed, rolling out r140051. http://trac.webkit.org/changeset/140051 https://bugs.webkit.org/show_bug.cgi?id=107210 html-parser-srcdoc.html failing on Chromium Linux Perf and Chromium Mac Perf with a lot of error spew about blocked script execution in 'about:srcdoc' (Requested by dominicc on #webkit). * Parser/html-parser-srcdoc.html: Removed. * Skipped: 2013-01-16 Ryosuke Niwa Remove NodeListsNodeData when it's no longer needed https://bugs.webkit.org/show_bug.cgi?id=107074 Reviewed by Darin Adler. Added a micro benchmark to see the benefit of removing NodeListsNodeData. The test traverses all elements in the html5 specification page and accesses childNodes. Don't enable this test for now since it's really a micro benchmark specifically designed to test this patch. * DOM/TraverseChildNodes.html: Added. * Skipped: Don't enable newly added test by default. * resources/results-template.html: Compare against the unscaled unit (e.g. "bytes") as opposed to scaled units such as "K bytes". * resources/runner.js: (.start): Moved the code to call currentTest.setup from measureRunsPerSecondOnce so that it'll be ran for all test types, namely of PerfTestRunner.measureTime. (.measureRunsPerSecondOnce): 2013-01-17 Eric Seidel Add a version of the html-parser benchmark which uses srcdoc instead of document.write so it tests the threaded parser https://bugs.webkit.org/show_bug.cgi?id=107158 Reviewed by Ryosuke Niwa. Currently this test even opts-in to the threaded parser if available. We'll remove that line when the threaded parser becomes default or goes away. * Parser/html-parser-srcdoc.html: Added. 2013-01-16 Arnaud Renevier inconsistency in drawImage with target rect negative dimensions. https://bugs.webkit.org/show_bug.cgi?id=100026 Reviewed by Dean Jackson. Create a drawImage performance test. There is no significative change in performance: 27144.6851528 runs/s without the patch; 27153.517612 runs/s with the patch. Test is currently skipped. * Canvas/drawimage.html: Added. * Skipped: 2013-01-15 Dominic Cooney Allow zero values as results from the runFunction. https://bugs.webkit.org/show_bug.cgi?id=102500 Reviewed by Kentaro Hara. DOM/DOMWalk.js fails on the Chromium Win perf bot because one or more parts of the test usually return zero at some point. * resources/runner.js: Accept merely non-negative results. 2012-12-28 Yury Semikhatsky Web Inspector: rename distanceToWindow to distance https://bugs.webkit.org/show_bug.cgi?id=105823 Reviewed by Pavel Feldman. Updated heap profiler performance test after renaming distanceToWindow to distance. * inspector/heap-snapshot-performance-test.js: 2012-12-18 Hayato Ito Use element.webkitCreateShadowRoot instead of WebKitShadowRoot in PerformanceTests. https://bugs.webkit.org/show_bug.cgi?id=105256 Reviewed by Dimitri Glazkov. WebKitShadowRoot constructor was deleted in favor of element.webkitCreateShadowRoot(). * ShadowDOM/ChangingClassNameShadowDOM.html: * ShadowDOM/ChangingSelect.html: * ShadowDOM/ContentReprojection.html: * ShadowDOM/DistributionWithMultipleShadowRoots.html: * ShadowDOM/LargeDistributionWithLayout.html: * ShadowDOM/MultipleInsertionPoints.html: * ShadowDOM/ShadowReprojection.html: * ShadowDOM/SmallDistributionWithLayout.html: 2012-12-17 Shinya Kawanaka [Shadow] LargeDistributionWithLayout.html should be updated https://bugs.webkit.org/show_bug.cgi?id=105242 Reviewed by Ryosuke Niwa. Since this test was written when distribution took O(N^2). However, now it's almost O(N), so this test finishes in very short time. We should convert it unit to runs/s. This test contains a some error to cause test failure, e.g. using obsolete API, so they also should be fixed. * ShadowDOM/LargeDistributionWithLayout.html: 2012-12-13 Ryosuke Niwa [chromium perf] DOM/DOMWalk.html failures https://bugs.webkit.org/show_bug.cgi?id=104866 Reviewed by Eric Seidel. Use PerfTestRunner.now which in turn uses window.performance.now() when it's available. * DOM/resources/dom-perf.js: (Interval.start): (Interval.stop): (BenchmarkSuite.prototype.RunSingle): 2012-12-05 Shinya Kawanaka [Shadow] Performance tests for ShadowDOM distribution https://bugs.webkit.org/show_bug.cgi?id=103617 Reviewed by Dimitri Glazkov. We would like to measure ShadowDOM distribution performance in various cases. In this patch, we add performance tests for several distribution patterns. * ShadowDOM/ContentReprojection.html: Added. * ShadowDOM/DistributionWithMultipleShadowRoots.html: Added. * ShadowDOM/LargeDistributionWithLayout.html: Added. * ShadowDOM/MultipleInsertionPoints.html: Added. * ShadowDOM/ShadowReprojection.html: Added. * ShadowDOM/SmallDistributionWithLayout.html: Added. 2012-12-05 Shinya Kawanaka [Shadow] Performance tests of distribution for changing className https://bugs.webkit.org/show_bug.cgi?id=103612 Reviewed by Dimitri Glazkov. We would like to measure ShadowDOM performance and compare it to the similar functional HTML without using ShadowDOM. In this patch, we add a case when classNames of distributed elemeents are changed. * ShadowDOM/ChangingClassName.html: Added. * ShadowDOM/ChangingClassNameShadowDOM.html: Added. 2012-12-03 Ryosuke Niwa Dromaeo should report individual test result https://bugs.webkit.org/show_bug.cgi?id=99800 Reviewed by Eric Seidel. Made one small modification to Droameo's webrunner.js so that it reports individual runs/s values for each subtest. This allows us to compute the aggregated run/s for each iteration like other performance tests. Also stop measuring memory usage in Dromaeo tests because some Dromaeo tests (e.g. jslib-modify-jquery) have unrealistic memory usage, and measuring them at the time of teardown doesn't make much sense. * Animation/balls.html: Fixed typo: measureValueAync. * Dromaeo/resources/dromaeo/web/webrunner.js: * Dromaeo/resources/dromaeorunner.js: (DRT.setup): Call prepareToMeasureValuesAsync so that DRT.teardown can use meausreValueAsync, and log "Running 5 times". Since the log container will be inserted before iframe, we need to explicitly insert the iframe as the first child of the body element to avoid logs from affecting the iframe's position. Also specify the number of iterations by calling PerfTestRunner.iterationCount() so that we may adjust the number of iterations in PerfTestRunner. (DRT.progress): Log individual measurement for each subtest. (DRT.teardown): Compute the aggregated result for each iteration, and log them using measureValueAsync. * resources/runner.js: (PerfTestRunner.logStatistics): Merged printStatistics since it's no longer needed after r131638. (PerfTestRunner): Removed getAndPrintMemoryStatistics since it was used only in Dromaeo tests but we no longer measure memory usage in Dromaeo tests. (start): Increment completedRuns from -1 to 0 for Dromaeo tests where we don't want to ignore the initial measurement. Note that ignoreWarmUpAndLog ignores the measurements for which completedRuns is negative. (ignoreWarmUpAndLog): We don't measure memory usage in Dromaeo tests. See above. (PerfTestRunner.iterationCount): Added. This abstraction allows us to auto-adjust the number of iterations from run-perf-tests in near future. (PerfTestRunner.measureValueAsync): Renamed from measureValueAync. 2012-11-29 Shinya Kawanaka [Shadow] Performance tests of distribution for changing select attribute https://bugs.webkit.org/show_bug.cgi?id=103611 Reviewed by Hajime Morita. We would like to measure ShadowDOM performance and compare it to the similar functional HTML without using ShadowDOM. In this patch, we add a case when select attribute of HTMLContentElement is changed. * ShadowDOM/ChangingSelect.html: Added. * ShadowDOM/ChangingSelectWithoutShadow.html: Added. * Skipped: 2012-11-19 Shinya Kawanaka Changing id, className, or attribute should invalidate distribution https://bugs.webkit.org/show_bug.cgi?id=100738 Reviewed by Dimitri Glazkov. Added test code to modify id/class/attribute. * DOM/ModifyAttribute.html: Added. * DOM/resources/dom-perf/modify-attribute.js: Added. (ModifyAttribute.CreateElementToSetUp): (ModifyAttribute.ModifyId): (ModifyAttribute.ModifyClass): (ModifyAttribute.ModifyTitle): 2012-11-14 Ryosuke Niwa runCount in runner.js should be renamed to iterationCount https://bugs.webkit.org/show_bug.cgi?id=102208 Reviewed by Tony Chang. Prior to this patch, there were terminology confusions between "runs" and "iterations". The term "run" should refer to running a performance test once, and "iteration" should refer to one measurement in the test. i.e. Executing run-perf-should once will result in a single "run" of performance tests and each test may execute multiple "iterations" to complete the run. Unfortunately, we still overload the meaning of "runs" in "runs/s" (is "function calls/s") but that could be addressed in a separate patch. * Animation/balls.html: * DOM/DOMTable.html: * DOM/resources/dom-perf.js: * Layout/floats_100_100.html: * Layout/floats_100_100_nested.html: * Layout/floats_20_100.html: * Layout/floats_20_100_nested.html: * Layout/floats_2_100.html: * Layout/floats_2_100_nested.html: * Layout/floats_50_100.html: * Layout/floats_50_100_nested.html: * Layout/subtree-detaching.html: * Parser/html5-full-render.html: * SVG/SvgHitTesting.html: * resources/runner.js: 2012-11-13 Dimitri Glazkov Unreviewed, rolling out r134367. http://trac.webkit.org/changeset/134367 https://bugs.webkit.org/show_bug.cgi?id=100738 Speculative rollout, could have cause Dromaeo setAttribute perf regression. * DOM/ModifyAttribute.html: Removed. * DOM/resources/dom-perf/modify-attribute.js: Removed. 2012-11-12 Shinya Kawanaka Changing id, className, or attribute should invalidate distribution https://bugs.webkit.org/show_bug.cgi?id=100738 Reviewed by Dimitri Glazkov. Added test code to modify id/class/attribute. * DOM/ModifyAttribute.html: Added. * DOM/resources/dom-perf/modify-attribute.js: Added. (ModifyAttribute.CreateElementToSetUp): (ModifyAttribute.ModifyId): (ModifyAttribute.ModifyClass): (ModifyAttribute.ModifyTitle): 2012-11-06 Adam Barth DOMImplementation should use ScriptWrappable https://bugs.webkit.org/show_bug.cgi?id=101279 Reviewed by Eric Seidel. This simple PerformanceTest measure how quickly we can access document.implementation. The goal of this performance test is just to validate that using ScriptWrappable actually makes the bindings faster. * Bindings/document-implementation.html: Added. 2012-11-05 Geoffrey Garen WebKit should have performance tests for book chapter reflow https://bugs.webkit.org/show_bug.cgi?id=101271 Reviewed by Dan Bernstein. I grabbed a book chapter from the Project Gutenberg front page: * Layout/chapter-reflow-once.html: Added. * Layout/chapter-reflow-thrice.html: Added. * Layout/chapter-reflow-twice.html: Added. * Layout/chapter-reflow.html: Added. I also created a torture-test random text generator: * Layout/chapter-reflow-once-random.html: Added. 2012-10-29 Zoltan Horvath Turn PageLoad tests into simple performancetests, commit #7 (last) https://bugs.webkit.org/show_bug.cgi?id=99899 Reviewed by Ryosuke Niwa. We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple performance tests and measure their memory footprint and performance that way. This change moves and renames the related files to their new location and adds html/js wrappers for them. This is the #7 (last) commit of the whole patch. * PageLoad: Removed. * PageLoad/svg: Removed. * PageLoad/svg/LICENSES: Removed. * PageLoad/svg/files: Removed. * PageLoad/svg/files/33041-Samurai.svg: Removed. * PageLoad/svg/files/42450-under the see.svg: Removed. * PageLoad/svg/files/world-iso.svg: Removed. * PageLoad/svg/svg.pltsuite: Removed. * SVG/Samurai.html: Added. * SVG/UnderTheSee.html: Added. * SVG/WorldIso.html: Added. * SVG/resources/LICENSES: Copied from PerformanceTests/PageLoad/svg/LICENSES. * SVG/resources/Samurai.svg: Copied from PerformanceTests/PageLoad/svg/files/33041-Samurai.svg. * SVG/resources/UnderTheSee.svg: Copied from PerformanceTests/PageLoad/svg/files/42450-under%20the%20see.svg. * SVG/resources/WorldIso.svg: Copied from PerformanceTests/PageLoad/svg/files/world-iso.svg. * SVG/resources/svg.pltsuite: Copied from PerformanceTests/PageLoad/svg/svg.pltsuite. * Skipped: Rename the files on the skipped list also. 2012-10-26 Eric Seidel Add a microbenchmark for Hindi (complex-text) line-layout https://bugs.webkit.org/show_bug.cgi?id=100024 Reviewed by Ryosuke Niwa. I wrote this to make sure that we don't regress line-breaking performance for the complex-text codepath. This test has shown me that TOT is already 5% slower than Safari 6.0.1 here. :( * Layout/hindi-line-layout.html: Added. 2012-10-26 Zoltan Horvath Turn PageLoad tests into simple performancetests, commit #6 https://bugs.webkit.org/show_bug.cgi?id=99899 Reviewed by Ryosuke Niwa. We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple performance tests and measure their memory footprint and performance that way. This change moves and renames the related files to their new location and adds html/js wrappers for them. This is the #6 commit of the whole patch. * PageLoad/svg/files/gearflowers.svg: Removed. * PageLoad/svg/files/hereGear4.svg: Removed. * PageLoad/svg/files/worldcup.svg: Removed. * SVG/GearFlowers.html: Added. * SVG/HereGear.html: Added. * SVG/Worldcup.html: Added. * SVG/resources/GearFlowers.svg: Copied from PerformanceTests/PageLoad/svg/files/gearflowers.svg. * SVG/resources/HereGear.svg: Copied from PerformanceTests/PageLoad/svg/files/hereGear4.svg. * SVG/resources/Worldcup.svg: Copied from PerformanceTests/PageLoad/svg/files/worldcup.svg. * Skipped: Rename the files on the skipped list also. 2012-10-26 Zoltan Horvath Turn PageLoad tests into simple performancetests, commit #5 https://bugs.webkit.org/show_bug.cgi?id=99899 Reviewed by Ryosuke Niwa. We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple performance tests and measure their memory footprint and performance that way. This change moves and renames the related files to their new location and adds html/js wrappers for them. This is the #5 commit of the whole patch. * PageLoad/svg/files/Harvey_Rayner.svg: Removed. * PageLoad/svg/files/Sierpinski_carpet_6.svg: Removed. * PageLoad/svg/files/mtsthelens.svg: Removed. * PageLoad/svg/files/mtsthelens0.jpg: Removed. * SVG/HarveyRayner.html: Added. * SVG/MtSaintHelens.html: Added. * SVG/SierpinskiCarpet.html: Added. * SVG/resources/HarveyRayner.svg: Copied from PerformanceTests/PageLoad/svg/files/Harvey_Rayner.svg. * SVG/resources/MtSaintHelens.svg: Copied from PerformanceTests/PageLoad/svg/files/mtsthelens.svg. * SVG/resources/SierpinskiCarpet.svg: Copied from PerformanceTests/PageLoad/svg/files/Sierpinski_carpet_6.svg. * SVG/resources/mtsthelens0.jpg: Copied from PerformanceTests/PageLoad/svg/files/mtsthelens0.jpg. * Skipped: Rename the files on the skipped list also. 2012-10-25 Zoltan Horvath Turn PageLoad tests into simple performancetests, commit #4 https://bugs.webkit.org/show_bug.cgi?id=99899 Reviewed by Ryosuke Niwa. We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple performance tests and measure their memory footprint and performance that way. This change moves and renames the related files to their new location and adds html/js wrappers for them. This is the #4 commit of the whole patch. * PageLoad/svg/files/france.svg: Removed. * PageLoad/svg/files/francobollo_gnome_ezechi_02.svg: Removed. * SVG/France.html: Added. * SVG/FrancoBolloGnomeEzechi.html: Added. * SVG/resources/France.svg: Copied from PerformanceTests/PageLoad/svg/files/france.svg. * SVG/resources/FrancoBolloGnomeEzechi.svg: Copied from PerformanceTests/PageLoad/svg/files/francobollo_gnome_ezechi_02.svg. * Skipped: Rename the files on the skipped list also. 2012-10-25 Zoltan Horvath Turn PageLoad tests into simple performancetests, commit #3 https://bugs.webkit.org/show_bug.cgi?id=99899 Reviewed by Ryosuke Niwa. We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple performance tests and measure their memory footprint and performance that way. This change moves and renames the related files to their new location and adds html/js wrappers for them. This is the #3 commit of the whole patch. * PageLoad/svg/files/42470-flower_from_my_garden_v2.svg: Removed. * PageLoad/svg/files/44057-drops on a blade.svg: Removed. * PageLoad/svg/files/deb9frac1.svg: Removed. * PageLoad/svg/files/food_leif_lodahl_01.svg: Removed. * SVG/Debian.html: Added. * SVG/DropsOnABlade.html: Added. * SVG/FlowerFromMyGarden.html: Added. * SVG/FoodLeifLodahl.html: Added. * SVG/resources/Debian.svg: Copied from PerformanceTests/PageLoad/svg/files/deb9frac1.svg. * SVG/resources/DropsOnABlade.svg: Copied from PerformanceTests/PageLoad/svg/files/44057-drops%20on%20a%20blade.svg. * SVG/resources/FlowerFromMyGarden.svg: Copied from PerformanceTests/PageLoad/svg/files/42470-flower_from_my_garden_v2.svg. * SVG/resources/FoodLeifLodahl.svg: Copied from PerformanceTests/PageLoad/svg/files/food_leif_lodahl_01.svg. 2012-10-24 Zoltan Horvath Turn PageLoad tests into simple performancetests, commit #2 https://bugs.webkit.org/show_bug.cgi?id=99899 Reviewed by Ryosuke Niwa. We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple performance tests and measure their memory footprint and performance that way. This change moves and renames the related files to their new location and adds html/js wrappers for them. This is the #2 commit of the whole patch. * PageLoad/svg/files/cacuts_01.svg: Removed. * PageLoad/svg/files/cowboy.svg: Removed. * PageLoad/svg/files/crawfish2_ganson.svg: Removed. * SVG/Cactus.html: Added. * SVG/Cowboy.html: Added. * SVG/CrawFishGanson.html: Added. * SVG/resources/Cactus.svg: Copied from PerformanceTests/PageLoad/svg/files/cacuts_01.svg. * SVG/resources/Cowboy.svg: Copied from PerformanceTests/PageLoad/svg/files/cowboy.svg. * SVG/resources/CrawFishGanson.svg: Copied from PerformanceTests/PageLoad/svg/files/crawfish2_ganson.svg. * Skipped: Remove az-lizard_benji_park_01.svg from the skipped list. 2012-10-24 Zoltan Horvath Turn PageLoad tests into simple performancetests, commit #1 https://bugs.webkit.org/show_bug.cgi?id=99899 Reviewed by Ryosuke Niwa. We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple performance tests and measure their memory footprint and performance that way. This change moves and renames the related files to their new location and adds html/js wrappers for them. This is the #1 commit of the whole patch. * PageLoad/svg/files/az-lizard_benji_park_01.svg: Removed. * PageLoad/svg/files/bamboo_01.svg: Removed. * SVG/AzLizardBenjiPark.html: Added. * SVG/Bamboo.html: Added. * SVG/resources: Added. * SVG/resources/AzLizardBenjiPark.svg: Copied from PerformanceTests/PageLoad/svg/files/az-lizard_benji_park_01.svg. * SVG/resources/Bamboo.svg: Copied from PerformanceTests/PageLoad/svg/files/bamboo_01.svg. 2012-10-24 Zoltan Horvath REGRESSION(r131982): Skip SVG/SvgNestedUse.html performancetest since it is crashing https://bugs.webkit.org/show_bug.cgi?id=100262 Unreviewed. Skip until proper fix. * Skipped: Add SVG/SvgNestedUse.html 2012-10-23 Zoltan Horvath Store the loaded file locally in measurePageLoadTime https://bugs.webkit.org/show_bug.cgi?id=100172 Reviewed by Csaba Osztrogonác. Store the loaded file as a local variable instead of attaching it to the test object. Handle chunkSize inside test.run. * resources/runner.js: (.): 2012-10-23 Zoltan Horvath Add measurePageLoadTime function to PerfTestRunner https://bugs.webkit.org/show_bug.cgi?id=100029 Reviewed by Ryosuke Niwa. Adopt chunk based loading logic from html5-full-render.html into measurePageLoadTime function, this is needed to measure the performance and the memory consumption of the PageLoadTests as we do it for all other performancetests. * Parser/html5-full-render.html: Move the behavior to runner.js. * resources/runner.js: (.): Add measurePageLoadTime function. 2012-10-22 Adam Barth [V8] Vastly simplify V8GCController's NodeVisitor https://bugs.webkit.org/show_bug.cgi?id=99884 Reviewed by Kentaro Hara. Adds some performance tests for the garbage collector. * Bindings/gc-forest.html: Added. * Bindings/gc-mini-tree.html: Added. * Bindings/gc-tree.html: Added. 2012-10-17 Ryosuke Niwa Bump up the number of iterations of html5-full-render to 5 https://bugs.webkit.org/show_bug.cgi?id=99657 Reviewed by Andreas Kling. Now that html5-full-render.html runs in less than 15 seconds after r131553, we can afford to get 5 instead of 2 samples. * Parser/html5-full-render.html: 2012-10-17 Ryosuke Niwa Rename PerfTestRunner.runPerSecond to PerfTestRunner.measureRunsPerSecond for consistency https://bugs.webkit.org/show_bug.cgi?id=99642 Reviewed by Dirk Pranke. Renamed the method. * Bindings/append-child.html: * Bindings/create-element.html: * Bindings/event-target-wrapper.html: * Bindings/first-child.html: * Bindings/get-attribute.html: * Bindings/get-element-by-id.html: * Bindings/get-elements-by-tag-name.html: * Bindings/id-getter.html: * Bindings/id-setter.html: * Bindings/insert-before.html: * Bindings/node-list-access.html: * Bindings/scroll-top.html: * Bindings/set-attribute.html: * Bindings/typed-array-construct-from-array.html: * Bindings/typed-array-construct-from-same-type.html: * Bindings/typed-array-construct-from-typed.html: * Bindings/typed-array-set-from-typed.html: * Bindings/undefined-first-child.html: * Bindings/undefined-get-element-by-id.html: * Bindings/undefined-id-getter.html: * CSS/CSSPropertySetterGetter.html: * CSS/CSSPropertyUpdateValue.html: * CSS/PseudoClassSelectors.html: * DOM/textarea-dom.html: * DOM/textarea-edit.html: * Interactive/resources/window-resize.js: * Layout/flexbox-column-nowrap.html: * Layout/flexbox-column-wrap.html: * Layout/flexbox-row-nowrap.html: * Layout/flexbox-row-wrap.html: * Layout/line-layout.html: * Parser/css-parser-yui.html: * Parser/innerHTML-setter.html: * Parser/query-selector-deep.html: * Parser/query-selector-first.html: * Parser/query-selector-last.html: * Parser/simple-url.html: * Parser/textarea-parsing.html: * Parser/tiny-innerHTML.html: * Parser/url-parser.html: * Parser/xml-parser.html: * SVG/SvgNestedUse.html: * resources/runner.js: 2012-10-17 Ryosuke Niwa Performance test should support asynchronous tests https://bugs.webkit.org/show_bug.cgi?id=95668 Reviewed by Dirk Pranke. Added PerfTestRunner.prepareToMeasureValuesAsync and PerfTestRunner.measureValueAsync, and deployed it in Animation/balls. * Animation/balls.html: * resources/runner.js: 2012-10-16 Elliott Sprehn html5-full-render.html test uses substring but meant substr https://bugs.webkit.org/show_bug.cgi?id=99495 Reviewed by Adam Barth. This test intended to chunk up the HTML5 spec into chunks of 500k chars, but used substring(to,from) instead of substr(from,length) so it actually loaded 5x more content than was in the HTML5 spec. * Parser/html5-full-render.html: 2012-10-11 James Simonsen unprefix window.performance.webkitNow() https://bugs.webkit.org/show_bug.cgi?id=88278 Reviewed by Tony Gentilcore. * resources/runner.js: Bind to proper object to avoid invalid invocation errors. 2012-10-08 Ryosuke Niwa Skip Layout/subtree-detaching.html temporarily as it's very noisy and takes 112s to run on Chromium Mac. This is tracked by the bug 98708. * Skipped: 2012-10-08 Ryosuke Niwa Perf. test results page is broken when runs have different sets of tests https://bugs.webkit.org/show_bug.cgi?id=98691 Reviewed by Daniel Bates. Add "missing" columns for tests that are missing some runs. Also fix regressions from the previous patch: - Make reference run switch work again - Load jquery plugins from the remote server when the jquery is loaded from the remote server. * resources/results-template.html: 2012-10-08 Ryosuke Niwa Perf test pesults page takes forever to load on a machine with a slow Internet connection https://bugs.webkit.org/show_bug.cgi?id=98561 Reviewed by Ojan Vafai. Try loading jquery both locally and remotely, and use the same method to load the remaining jquery plugins when either one succeeds. * resources/results-template.html: 2012-10-04 Hayato Ito [Refactoring] Introduce a traversal strategy in SelectorChecker https://bugs.webkit.org/show_bug.cgi?id=97298 Reviewed by Antti Koivisto. Introduces querySelector() performance tests to check SelectorChecker performance. * CSS/PseudoClassSelectors.html: Added. 2012-10-03 Philip Rogers Force GC between PageLoad tests. https://bugs.webkit.org/show_bug.cgi?id=98203 Reviewed by Ryosuke Niwa. Previously, our PageLoad PerfTests had multi-modal distributions, typically with a small cluster at 1-2x the median. This turned out to be caused by not garbage collecting between tests! This patch adds a new file, force-gc.html, and loads this file between PageLoad tests to force a GC. I manually verified that this cleans up our perf test outliers. * resources/force-gc.html: Added. 2012-10-03 Julien Chaffraix Add a performance test for subtree detaching https://bugs.webkit.org/show_bug.cgi?id=98281 Reviewed by Eric Seidel. The new test tries to stress detaching on a heavy subtree (2 levels deep but with 1,000 nodes per level). We set display: none on the root and measure the time it takes to update the tree. Note that we will also measure the time taken by recalcStyle and relayout but I don't think we can avoid that. * Layout/subtree-detaching.html: Added. 2012-10-02 Ryosuke Niwa Build fix after r130135. Dromaeo tests only report single memory value, and computeStatistics should report variance as 0 in such cases. * resources/runner.js: 2012-10-02 Philip Rogers Fix PerfTest standard deviation calculation. https://bugs.webkit.org/show_bug.cgi?id=98115 Reviewed by Ryosuke Niwa. Previously our standard deviation calculation was incorrect. This patch updates perftest.py's algorithm to calculate the sample standard deviation (with Bessel's correction) using Knuth's online algorithm: http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Online_algorithm An existing test has been modified to prove our new results. This patch also updates runner.js to use Bessel's correction in its sample standard deviation calculation, which is more accurate for small sample sizes. Additionally, runner.js has been modified to not calculate the 'sum' statistic, which was not very useful. * resources/runner.js: (PerfTestRunner.computeStatistics): 2012-10-01 Ryosuke Niwa PerfTestRunner: Move all functions into the closure and always use double quotation for string literals https://bugs.webkit.org/show_bug.cgi?id=98093 Reviewed by Ojan Vafai. Move all methods of PerfTestRunner into the closure that defines it. Also always use double quotations for string literals for consistency. * resources/runner.js: 2012-10-01 Ryosuke Niwa Encapsulate private properties in PerfTestRunner better https://bugs.webkit.org/show_bug.cgi?id=97833 Reviewed by Ojan Vafai. This patch moves "private" methods and properties of PerfTestRunner into a closure so that they're inaccssible from outside. Also catch exceptions from test.run, test.done, and other runner code to ensure we call notifyDone() even if we broke tests. Otherwise DRT will timeout and we end up waiting for 10 minutes per each broken test on bots. * resources/runner.js: (PerfTestRunner.gc): (logInDocument): Extracted from PerfTestRunner.log. (PerfTestRunner.log): Moved. (logFatalError): Added. (start): Renamed from PerfTestRunner._start. (scheduleNextRun): Extracted from PerfTestRunner._runLoop. Also catch any exceptions that happen in the runner and ignoreWarmUpAndLog so that we don't end up timing out. We call logFatalError in such cases, which in turn ensures notifyDone() is called. (ignoreWarmUpAndLog): Renamed from PerfTestRunner._ignoreWarmUpAndLog. (finish): Extracted from PerfTestRunner._runLoop. (PerfTestRunner.measureTime): Moved. The initialization of runCount is moved into start(). (measureTimeOnce): Renamed from PerfTestRunner._measureTimeOnce. (PerfTestRunner.runPerSecond): Moved. Ditto about runCount. (measureRunsPerSecondOnce): Renamed from PerfTestRunner._measureRunsPerSecondOnce. (callRunAndMeasureTime): Renamed from PerfTestRunner._perSecondRunnerIterator. 2012-10-01 Florin Malita Add a performance test for nested elements https://bugs.webkit.org/show_bug.cgi?id=98047 Reviewed by Ryosuke Niwa. Currently at ~5 runs per second on my workstation, but should go up significantly (100+) after landing a fix for https://bugs.webkit.org/show_bug.cgi?id=97905. * SVG/SvgNestedUse.html: Added. 2012-09-28 Ryosuke Niwa Add back test.runCount for runPerSecond as it's used by tests in fast/harness/perftests. * resources/runner.js: (PerfTestRunner.runPerSecond): 2012-09-27 Ryosuke Niwa Build fix after r129824. * DOM/resources/dom-perf.js: (runBenchmarkSuite): 2012-09-27 Ryosuke Niwa Remove unused features and reduce code duplications in PerfTestRunner https://bugs.webkit.org/show_bug.cgi?id=97852 Reviewed by Kentaro Hara. Made the following refactoring changes: - Remove PerfTestRunner.info since it's never used. - Moved the js heap/malloc related functions up to where they belong. - Moved the initialization of _callsPerIteration, _test, and -description into _start, and stopped initializing _runFunction and _doneFunction since both test times now use _test object. - Made _measureTimeOnce and _measureRunsPerSecondOnce return the measured value instead of calling ignoreWarmUpAndLog and _runLoop to share the code; they're now called in _measureRunsPerSecondOnce. * resources/runner.js: (PerfTestRunner.storeHeapResults): Moved. (PerfTestRunner.getUsedMallocHeap): Moved. (PerfTestRunner.getUsedJSHeap): Moved. (PerfTestRunner.getAndPrintMemoryStatistics): Moved. (PerfTestRunner._scheduleNextMeasurementOrNotifyDone): Renamed from _runLoop. Calls ignoreWarmUpAndLog and schedules the next call. (PerfTestRunner._measureTimeOnce): Renamed from _runner. (PerfTestRunner._start): Renamed from initAndStartLoop. (PerfTestRunner.measureTime): (PerfTestRunner.runPerSecond): (PerfTestRunner._measureRunsPerSecondOnce): Renamed from _measureRunsPerSecondOnce. (PerfTestRunner._perSecondRunnerIterator): 2012-09-27 Ryosuke Niwa PerfTestRunner.run should take an object https://bugs.webkit.org/show_bug.cgi?id=97743 Reviewed by Kentaro Hara. Rename PerfTestRunner.run to PerfTestRunner.measureTime and make it take an object instead of 5 arguments. Also get rid of PerfTestRunner._loopsPerRun since it's no longer used (it's always 1). * CSS/StyleSheetInsert.html: * DOM/resources/dom-perf.js: * Layout/floats_100_100.html: * Layout/floats_100_100_nested.html: * Layout/floats_20_100.html: * Layout/floats_20_100_nested.html: * Layout/floats_2_100.html: * Layout/floats_2_100_nested.html: * Layout/floats_50_100.html: * Layout/floats_50_100_nested.html: * Parser/html-parser.html: * Parser/html5-full-render.html: * SVG/SvgCubics.html: * SVG/SvgHitTesting.html: * resources/runner.js: 2012-09-27 Ryosuke Niwa PerformanceTests/CSS/StyleSheetInsert.html has a time-dependent non-Gaussian distribution https://bugs.webkit.org/show_bug.cgi?id=97741 Reviewed by Antti Koivisto. Reset the content in the iframe in each run so that the runtime from each run follows a normal distribution. We can cleanup this code once my patch to replace the argument list of run by an object is landed. * CSS/StyleSheetInsert.html: 2012-09-27 Ryosuke Niwa Unreviewed. Minor appearance tweaks after r129813. * resources/results-template.html: 2012-09-27 Ryosuke Niwa Results page should warn about time-dependent distributions https://bugs.webkit.org/show_bug.cgi?id=97818 Reviewed by Ojan Vafai. Add a simple linear regression analysis on results page to detect time-dependent distributions. 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. Also added time-series graphs per run under the bar graphs so that humans can manually inspect them. A nice follow up would be to add some normality test (e.g. Shapiro-Wilk) to detect bi-modal distributions but we probably need to restructure the code to run it asynchronously since normality tests are slow. * resources/results-template.html: 2012-09-26 Ryosuke Niwa Use runPerSecond in PerformanceTests/Bindings/typed-array* and event-target-wrapper https://bugs.webkit.org/show_bug.cgi?id=97625 Reviewed by Eric Seidel. Use PerfTestRunner.runPerSecond instead of PerfTestRunner.run. Also reduce the fixed number of elements and iterations in these tests by a factor of 10 since runPerSecond can dynamically adjust the number of function calls. * Bindings/event-target-wrapper.html: * Bindings/typed-array-construct-from-array.html: * Bindings/typed-array-construct-from-same-type.html: * Bindings/typed-array-construct-from-typed.html: * Bindings/typed-array-set-from-typed.html: 2012-09-25 Antti Koivisto Optimize stylesheet insertions https://bugs.webkit.org/show_bug.cgi?id=97627 Reviewed by Andreas Kling. Add synthetic performance test for avoiding style recalcs on stylesheet inserts. * CSS/StyleSheetInsert.html: Added. 2012-09-25 Ryosuke Niwa Skip Dromaeo/jslib-modify-jquery.html per bug 95376. It runs out of memory on Chromium port, and it takes unreasonably long time (~5 minutes) to run on other ports. * Skipped: 2012-09-20 Ryosuke Niwa Results page should show indivisual value https://bugs.webkit.org/show_bug.cgi?id=97178 Reviewed by Tony Chang. Show indivisual values instead of statistics (min, max, stdev). * resources/results-template.html: 2012-09-20 Ryosuke Niwa run-perf-tests should record individual value instead of statistics https://bugs.webkit.org/show_bug.cgi?id=97155 Reviewed by Hajime Morita. Report the list of values as "values" so that run-perf-tests can parse them. * resources/runner.js: (PerfTestRunner.computeStatistics): (PerfTestRunner.printStatistics): 2012-09-20 Sheriff Bot Unreviewed, rolling out r129091. http://trac.webkit.org/changeset/129091 https://bugs.webkit.org/show_bug.cgi?id=97205 It broke perf tests everywhere (Requested by Ossy on #webkit). * resources/runner.js: (PerfTestRunner.computeStatistics): (PerfTestRunner.printStatistics): 2012-09-19 Ryosuke Niwa run-perf-tests should record indivisual value instead of statistics https://bugs.webkit.org/show_bug.cgi?id=97155 Reviewed by Hajime Morita. Report the list of values as "values" so that run-perf-tests can parse them. * resources/runner.js: (PerfTestRunner.computeStatistics): (PerfTestRunner.printStatistics): 2012-09-17 Ryosuke Niwa Perf test results is incomprehensive https://bugs.webkit.org/show_bug.cgi?id=94668 Reviewed by Eric Seidel. Overhauled the results page to have a tabular view. Clicking on each row shows a flot graph we used to have. For each run and test, we show the mean value with the standard deviation along with the percent difference against the reference run chosen by the user if the difference is statistically significant; it also indicates whether the new value is progression or not. The unit of each test is adjusted automatically using SI prefixes (Kilo, Mega, Milli), and rows can be sorted by each column. Time and memory results are separated into two tabs. * resources/jquery.tablesorter.min.js: Added. * resources/results-template.html: 2012-09-14 Ryosuke Niwa Use performance.webkitNow in PerfTestRunner https://bugs.webkit.org/show_bug.cgi?id=92826 Reviewed by Eric Seidel. Use performance.webkitNow with Date.now as a fallback for more accurate time measurements. * resources/runner.js: (PerfTestRunner._runner): (PerfTestRunner._perSecondRunnerIterator): 2012-09-14 Sheriff Bot Unreviewed, rolling out r128562. http://trac.webkit.org/changeset/128562 https://bugs.webkit.org/show_bug.cgi?id=96747 It broke perf tests on Qt and Chromium (Requested by Ossy on #webkit). * resources/runner.js: (PerfTestRunner._runner): (PerfTestRunner._perSecondRunnerIterator): 2012-09-14 Ryosuke Niwa Use performance.webkitNow in PerfTestRunner https://bugs.webkit.org/show_bug.cgi?id=92826 Reviewed by Eric Seidel. Use performance.webkitNow with Date.now as a fallback for more acurate time measurements. * resources/runner.js: (PerfTestRunner._runner): (PerfTestRunner._perSecondRunnerIterator): 2012-08-23 Ilya Tikhonovsky WebInspector: unreviewed single line test fix. The test has to open profiles panel explicitly because it is creating lazily. * inspector/heap-snapshot-performance-test.js: 2012-08-15 Scott Graham Rename window.internals.fastMallocStatistics to mallocStatistics https://bugs.webkit.org/show_bug.cgi?id=94033 Reviewed by Adam Barth. * resources/runner.js: (PerfTestRunner.storeHeapResults): (PerfTestRunner.getUsedMallocHeap): (PerfTestRunner.getAndPrintMemoryStatistics): (PerfTestRunner.initAndStartLoop): 2012-08-10 Ryosuke Niwa Unreviewed; fix an insanely silly typo. * resources/results-template.html: 2012-08-09 Ryosuke Niwa Another build fix after r125178. * resources/runner.js: 2012-08-09 Zoltan Horvath Add memory measurement to balls.html and dromaeorunner.js https://bugs.webkit.org/show_bug.cgi?id=93617 Reviewed by Adam Barth. Since we added memory measurement support to performance tests we need to modify these tests. * Animation/balls.html: * Dromaeo/resources/dromaeorunner.js: 2012-08-09 Zoltan Horvath JSHeap and FastMallocStatistics based memory measurement for performance-tests https://bugs.webkit.org/show_bug.cgi?id=90858 Reviewed Ryosuke Niwa. Measure the memory usage of the performancetests with the help of the windows.memory.usedJSHeapSize object and the window.internals.fastMallocStatistics() function call. * resources/runner.js: (PerfTestRunner.logStatistics): (PerfTestRunner.printStatistics): (PerfTestRunner.storeHeapResults): (PerfTestRunner.getUsedFastMallocHeap): (PerfTestRunner.getUsedJSHeap): (PerfTestRunner.getAndPrintMemoryStatistics): (PerfTestRunner.ignoreWarmUpAndLog): (PerfTestRunner.initAndStartLoop): 2012-08-08 Benjamin Poulain Calling internals from the performance test runner prevents manual running https://bugs.webkit.org/show_bug.cgi?id=93527 Reviewed by Ryosuke Niwa. Since r125065, it is impossible to run the Performance tests manually. The problem is "internals" is not defined when running outside the test runner, so the whole script evaluation fails. * resources/runner.js: Verify is window.internals is available before invoking something on it. 2012-08-08 Zoltan Horvath Set access to MemoryInfo enabled for the performance tests https://bugs.webkit.org/show_bug.cgi?id=92498 Reviewed by Ryosuke Niwa. We need access to console.memory for the memory measurements. * resources/runner.js: 2012-08-07 Ryosuke Niwa run-perf-tests should support --no-show-results https://bugs.webkit.org/show_bug.cgi?id=93409 Reviewed by Dirk Pranke. Add a flot as a separate file and load it as an external resource. Also include scripts as external resources from both local filesystem and webkit.org so that it continues to work regardless of where you put it. It breaks when someone else receives the file and save it somewhere and doesn't have a network connection but that seems like a scenario we don't care that much. * resources/jquery.flot.min.js: Added. * resources/results-template.html: 2012-08-06 Ryosuke Niwa run-webkit-tests should have ability to add description to its JSON output https://bugs.webkit.org/show_bug.cgi?id=93296 Reviewed by Dirk Pranke. Parse description and show it with the WebKit revision on the results page. Also use bar graphs instead of line graphs since we're not depicting the time series here per arv's suggestion. Finally, add the ability to adjust y-axis between the adjusted value and 0 (plot even doesn't adjust y-axis automatically now) by a mouse click. * resources/results-template.html: 2012-08-04 Ryosuke Niwa Use testRunner instead of layoutTestController in performance tests https://bugs.webkit.org/show_bug.cgi?id=93184 Reviewed by Adam Barth. * Animation/balls.html: * Dromaeo/resources/dromaeorunner.js: * inspector/console-300-lines.html: * inspector/inspector-startup-time.html: * inspector/network-append-30-requests.html.broken: * inspector/show-panel.html.broken: * resources/runner.js: (PerfTestRunner.logInfo): (PerfTestRunner.initAndStartLoop): 2012-08-02 Arnaud Renevier TypedArray set method is slow when called with another typed array https://bugs.webkit.org/show_bug.cgi?id=92556 Reviewed by Kenneth Russell. * Bindings/typed-array-set-from-typed.html: Added. 2012-07-28 Ryosuke Niwa run-perf-tests should generate a results page https://bugs.webkit.org/show_bug.cgi?id=92575 Reviewed by Eric Seidel. Add a results page template. This page includes flot and flot.fillbetween. jQuery and the json that contains test results are injected by run-perf-tests. * resources/results-template.html: Added. 2012-07-27 Arnaud Renevier use createUninitialized when creating TypedArray from another array https://bugs.webkit.org/show_bug.cgi?id=92518 Reviewed by Kenneth Russell. * Bindings/typed-array-construct-from-array.html: Added. 2012-07-27 Ryosuke Niwa Add more Russian replay performance tests https://bugs.webkit.org/show_bug.cgi?id=92462 Reviewed by Tony Chang. Add more Russian sites as suggested by loislo. * Replay/Russian/lenta.ru.replay: Added. * Replay/Russian/www.ixbt.com.replay: Added. * Replay/Russian/www.kp.ru.replay: Added. * Replay/Russian/www.liveinternet.ru.replay: Added. * Replay/Russian/www.pravda.ru.replay: Added. 2012-07-26 Arnaud Renevier constructing TypedArray from another TypedArray is slow https://bugs.webkit.org/show_bug.cgi?id=90838 Reviewed by Kenneth Russell. * Bindings/typed-array-construct-from-same-type.html: Added. * Bindings/typed-array-construct-from-typed.html: Added. 2012-07-25 Ryosuke Niwa Import more replay performance tests from Mozilla's Tp5 test suite https://bugs.webkit.org/show_bug.cgi?id=92229 Reviewed by Andreas Kling. Add more replay tests based on Mozilla's Tp5 test suite [1]. Unfortunately, we cannot import all URLs because some of them are not archived on archive.org and others do not replay well on web-page-replay. Nonethless, we're still adding 60+ URLs in this patch. [1] http://people.mozilla.org/~jmaher/tp5.manifest * Replay/Chinese: Added. * Replay/Chinese/chinaz.com.replay: Added. * Replay/Chinese/www.163.com.replay: Added. * Replay/Chinese/www.alipay.com.replay: Added. * Replay/Chinese/www.baidu.com.replay: Added. * Replay/Chinese/www.csdn.net.replay: Added. * Replay/Chinese/www.douban.com.replay: Added. * Replay/Chinese/www.hao123.com.replay: Added. * Replay/Chinese/www.xinhuanet.com.replay: Added. * Replay/Chinese/www.xunlei.com.replay: Added. * Replay/Chinese/www.youku.com.replay: Added. * Replay/English: Added. * Replay/English/beatonna.livejournal.com.replay: Added. * Replay/English/cakewrecks.blogspot.com.replay: Added. * Replay/English/chemistry.about.com.replay: Added. * Replay/English/digg.com.replay: Added. * Replay/English/en.wikipedia.org-rorschach_test.replay: Added. * Replay/English/icanhascheezburger.com.replay: Added. * Replay/English/imgur.com-gallery.replay: Added. * Replay/English/online.wsj.com.replay: Added. * Replay/English/stockoverflow.com-best-comment.replay: Added. * Replay/English/www.alibaba.com.replay: Added. * Replay/English/www.amazon.com-kindle.replay: Added. * Replay/English/www.apple.com.replay: Added. * Replay/English/www.cnet.com.replay: Added. * Replay/English/www.dailymotion.com.replay: Added. * Replay/English/www.ehow.com-prevent-fire.replay: Added. * Replay/English/www.filestube.com-amy-adams.replay: Added. * Replay/English/www.foxnews.replay: Added. * Replay/English/www.huffingtonpost.com.replay: Added. * Replay/English/www.imdb.com-twilight.replay: Added. * Replay/English/www.mozilla.com-all-order.replay: Added. * Replay/English/www.php.net.replay: Added. * Replay/English/www.reddit.com.replay: Added. * Replay/English/www.telegraph.co.uk.replay: Added. * Replay/English/www.w3.org-htmlcss.replay: Added. * Replay/English/www.w3schools.com-html.replay: Added. * Replay/English/www.youtube.com-music.replay: Added. * Replay/French: Added. * Replay/French/www.orange.fr.replay: Added. * Replay/German: Added. * Replay/Italian: Added. * Replay/Italian/www.repubblica.it.replay: Added. * Replay/Japanese/entameblog.seesaa.net.replay: Added. * Replay/Japanese/www.hatena.ne.jp.replay: Added. * Replay/Japanese/www.nicovideo.jp.replay: Added. * Replay/Korean: Added. * Replay/Korean/www.naver.com.replay: Added. * Replay/Persian: Added. * Replay/Persian/blogfa.com.replay: Added. * Replay/Polish: Added. * Replay/Polish/www.wp.pl.replay: Added. * Replay/Portuguese: Added. * Replay/Portuguese/www.uol.com.br.replay: Added. * Replay/Russian: Added. * Replay/Russian/vkontakte.ru-help.replay: Added. * Replay/Russian/www.rambler.ru.replay: Added. * Replay/Russian/www.ucoz.ru.replay: Added. * Replay/Russian/www.yandex.ru.replay: Added. * Replay/Spanish: Added. * Replay/Spanish/www.taringa.net.replay: Added. 2012-07-24 Ryosuke Niwa Add some Japanese and Swedish websites to replay tests https://bugs.webkit.org/show_bug.cgi?id=92076 Reviewed by Andreas Kling. Added new replay tests as follows. * Replay/Japanese: Added. * Replay/Japanese/2ch.net-newsplus.replay: Added. * Replay/Japanese/ja.wikipedia.org.replay: Added. * Replay/Japanese/www.livedoor.com.replay: Added. * Replay/Japanese/www.rakuten.co.jp.replay: Added. * Replay/Japanese/www.yahoo.co.jp.replay: Added. * Replay/Swedish: Added. * Replay/Swedish/www.flashback.se.replay: Added. * Replay/Swedish/www.tradera.com.replay: Added. * Replay/www.techcrunch.com.replay: Added. 2012-07-18 MORITA Hajime Add window resize benchmark https://bugs.webkit.org/show_bug.cgi?id=91070 Reviewed by Ryosuke Niwa. Added window-resize.html which exercise html5.html. This test resizes the window and forces re-layout repeatedly. * Interactive/resources/window-resize.js: Added. * Interactive/window-resize.html: Added. * Parser/resources/html5.html: Modified to inject driver scripts. 2012-07-11 Philip Rogers Add a performance test for hit testing in SVG https://bugs.webkit.org/show_bug.cgi?id=90811 Reviewed by Ryosuke Niwa. The shape rendering code is changing a lot and I'd like a performance test to make sure we don't regress, and to track our improvements. Performance results in my Linux desktop: RESULT SVG: SvgHitTesting= 105.0 ms median= 103.5 ms, stdev= 4.60434577329 ms, min= 101.0 ms, max= 116.0 ms RESULT SVG: SvgHitTesting= 97.8 ms median= 96.5 ms, stdev= 2.67581763205 ms, min= 95.0 ms, max= 102.0 ms RESULT SVG: SvgHitTesting= 104.3 ms median= 104.0 ms, stdev= 1.41774468788 ms, min= 102.0 ms, max= 107.0 ms RESULT SVG: SvgHitTesting= 103.6 ms median= 103.5 ms, stdev= 1.2 ms, min= 102.0 ms, max= 106.0 ms * SVG/SvgHitTesting.html: Added. 2012-07-03 Jan Keromnes Web Inspector: WebInspector.TextViewer should be renamed WebInspector.TextEditor https://bugs.webkit.org/show_bug.cgi?id=89939 Reviewed by Vsevolod Vlasov. * inspector/first-open-scripts.html.broken: 2012-06-22 Philip Rogers Make SvgCubics performance test more consistent https://bugs.webkit.org/show_bug.cgi?id=89778 Reviewed by Ryosuke Niwa. Previously this test ran twice for each iteration, but this led to inconsistent repaints. This change updates the test to only run once per iteration, and adds even more cubics so that the test runs consistently in the 80ms range on my Linux desktop. Performance results on my desktop: RESULT SVG: SvgCubics= 80.5 ms median= 82.0 ms, stdev= 3.04138126515 ms, min= 75.0 ms, max= 85.0 ms RESULT SVG: SvgCubics= 80.1 ms median= 81.0 ms, stdev= 4.27668095607 ms, min= 74.0 ms, max= 88.0 ms RESULT SVG: SvgCubics= 81.45 ms median= 83.0 ms, stdev= 4.01839520207 ms, min= 75.0 ms, max= 89.0 ms RESULT SVG: SvgCubics= 78.9 ms median= 80.0 ms, stdev= 4.75289385533 ms, min= 72.0 ms, max= 87.0 ms * SVG/SvgCubics.html: 2012-06-22 Ilya Tikhonovsky Web Inspector: partially instrument DOM Tree native memory. https://bugs.webkit.org/show_bug.cgi?id=89568 This patch adds MemoryInstrumentation class that counts all visited objects and calls reportMemoryUsage. Reviewed by Yury Semikhatsky. * inspector/native-memory-snapshot.html: 2012-06-21 Kentaro Hara Add a perf-test for innerHTML setter for a large DOM tree https://bugs.webkit.org/show_bug.cgi?id=89723 Reviewed by Ryosuke Niwa. We want a benchmark for innerHTML setter for the following reason: - innerHTML setter is widely used in the real world. - I am planning to optimize innerHTML setter in the near future. - I want to use the innerHTML setter benchmark for the patch of bug 88834. Performance results in my Linux desktop: RESULT Parser: innerHTML-setter= 289.782649995 runs/s median= 290.046269741 runs/s, stdev= 1.06575112224 runs/s, min= 286.831812256 runs/s, max= 291.005291005 runs/s RESULT Parser: innerHTML-setter= 289.020706132 runs/s median= 289.093298292 runs/s, stdev= 0.985203313093 runs/s, min= 286.831812256 runs/s, max= 290.620871863 runs/s RESULT Parser: innerHTML-setter= 288.912051701 runs/s median= 291.005291005 runs/s, stdev= 3.65241325588 runs/s, min= 283.505154639 runs/s, max= 292.553191489 runs/s RESULT Parser: innerHTML-setter= 288.644186666 runs/s median= 288.713910761 runs/s, stdev= 1.31889053717 runs/s, min= 286.085825748 runs/s, max= 290.620871863 runs/s RESULT Parser: innerHTML-setter= 288.698714577 runs/s median= 288.713910761 runs/s, stdev= 1.03938198202 runs/s, min= 286.458333333 runs/s, max= 290.237467018 runs/s * Parser/innerHTML-setter.html: Added. 2012-06-20 Philip Rogers Add a performance test for paths in SVG https://bugs.webkit.org/show_bug.cgi?id=89547 Reviewed by Ryosuke Niwa. This change adds the first performance test for SVG paths. In the test we modify complex cubic paths in several ways, testing: transformations, clipping, d attribute changes, stroke properties, text on a path, and opacity. Sample test results on my Linux desktop: RESULT SVG: SvgCubics= 68.85 ms median= 69.5 ms, stdev= 4.70398767005 ms, min= 56.0 ms, max= 75.0 ms RESULT SVG: SvgCubics= 68.4 ms median= 69.0 ms, stdev= 3.51283361405 ms, min= 59.0 ms, max= 74.0 ms RESULT SVG: SvgCubics= 66.95 ms median= 67.0 ms, stdev= 3.4420197559 ms, min= 59.0 ms, max= 74.0 ms RESULT SVG: SvgCubics= 70.2 ms median= 71.5 ms, stdev= 3.23419232576 ms, min= 63.0 ms, max= 74.0 ms * SVG: Added. * SVG/SvgCubics.html: Added. 2012-06-20 Tom Zakrajsek Import themaninblue.com/experiment/AnimationBenchmark/ as performance tests https://bugs.webkit.org/show_bug.cgi?id=78789 Reviewed by Ryosuke Niwa. Added PerfTestRunner fixture around it. * Animation/balls.html: Added. 2012-06-18 Ilya Tikhonovsky Web Inspector: native memory snapshot performance and coverage test implementation. https://bugs.webkit.org/show_bug.cgi?id=89363 We have to track the performance of MemoryAgent.getProcessMemoryDistribution. Also this test will work as a burn down chart for Unknown memory metric. Reviewed by Pavel Feldman. * inspector/native-memory-snapshot.html: Added. * inspector/performance-test.js: (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer): (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.reportSize): (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump): (initialize_TimeTracker.InspectorTest.runPerformanceTest): 2012-06-05 Alexei Filippov Web Inspector: serialize edge counts instead of indexes in heap snapshot https://bugs.webkit.org/show_bug.cgi?id=88324 The serialized node structure currently holds an index of its first containment edge in the edges array. The index can be quite big (up to 7 digits for large snapshots). The patch changes the serialization format to pass node containment edge count instead. For most nodes the count is just a single digit number. This reduces serialized snapshot size and therefore its transfer time. Reviewed by Yury Semikhatsky. * inspector/heap-snapshot-performance-test.js: 2012-06-04 Alexei Filippov Web Inspector: speed up _calculateRetainedSizes function https://bugs.webkit.org/show_bug.cgi?id=87863 Reviewed by Yury Semikhatsky. * inspector/heap-snapshot-advanced.html: Added. * inspector/heap-snapshot-performance-test.js: Copied from PerformanceTests/inspector/heap-snapshot.html. (test.performanceTest.step0): (test.performanceTest.step1): (test.performanceTest.step2): (test.performanceTest.cleanup): (test.performanceTest.done): (test.performanceTest): (test): * inspector/heap-snapshot.html: 2012-06-03 Kentaro Hara [perf-test] Add a benchmark of querySelector() for an element that appears in the depths in the document https://bugs.webkit.org/show_bug.cgi?id=88202 Reviewed by Ryosuke Niwa. query-selector-first.html tests querySelector() for an element that appears at the head of the document. query-selector-last.html tests querySelector() for an element that appears at the tail of the document. In addition, we want a benchmark of querySelector() for an element that appears in the depths in the document. Test results in my Linux desktop: RESULT Parser: query-selector-deep= 460.776980611 runs/s median= 460.947503201 runs/s, stdev= 1.72274941942 runs/s, min= 455.696202532 runs/s, max= 463.32046332 runs/s RESULT Parser: query-selector-deep= 458.925050915 runs/s median= 459.183673469 runs/s, stdev= 1.47930124139 runs/s, min= 454.545454545 runs/s, max= 460.947503201 runs/s RESULT Parser: query-selector-deep= 461.866981491 runs/s median= 461.538461538 runs/s, stdev= 1.14613123359 runs/s, min= 459.183673469 runs/s, max= 463.917525773 runs/s RESULT Parser: query-selector-deep= 453.922010788 runs/s median= 454.258855898 runs/s, stdev= 1.77279123317 runs/s, min= 447.204968944 runs/s, max= 455.696202532 runs/s RESULT Parser: query-selector-deep= 454.666321221 runs/s median= 454.545454545 runs/s, stdev= 1.65775667417 runs/s, min= 451.127819549 runs/s, max= 456.852791878 runs/s * Parser/query-selector-deep.html: Added. 2012-06-03 Kentaro Hara [perf-test] Make query-selector-last.html more realistic https://bugs.webkit.org/show_bug.cgi?id=88203 Reviewed by Ryosuke Niwa. query-selector-last.html tests querySelector() for an element that appears after 1000 div elements, all of which have the same id and class. To test the performance of querySelector() under a lot of ids and classes, we should make the ids and classes of the 1000 elements different. This patch degrades the performance of query-selector-last.html by 3.6%. [Before] RESULT Parser: query-selector-last= 476.382274152 runs/s median= 476.821192053 runs/s, stdev= 1.14578875814 runs/s, min= 474.308300395 runs/s, max= 478.087649402 runs/s RESULT Parser: query-selector-last= 478.423061861 runs/s median= 478.723404255 runs/s, stdev= 1.54876867255 runs/s, min= 473.684210526 runs/s, max= 481.347773767 runs/s RESULT Parser: query-selector-last= 479.849287174 runs/s median= 480.0 runs/s, stdev= 1.69849752498 runs/s, min= 475.561426684 runs/s, max= 481.927710843 runs/s RESULT Parser: query-selector-last= 476.765438846 runs/s median= 477.453580902 runs/s, stdev= 1.8724488664 runs/s, min= 471.821756225 runs/s, max= 478.723404255 runs/s RESULT Parser: query-selector-last= 481.715340644 runs/s median= 481.637742305 runs/s, stdev= 1.81446361145 runs/s, min= 475.561426684 runs/s, max= 483.675937122 runs/s [After] RESULT Parser: query-selector-last= 458.866623582 runs/s median= 459.183673469 runs/s, stdev= 1.48881464737 runs/s, min= 453.972257251 runs/s, max= 460.947503201 runs/s RESULT Parser: query-selector-last= 460.363532897 runs/s median= 460.358056266 runs/s, stdev= 1.58512056995 runs/s, min= 456.273764259 runs/s, max= 462.130937099 runs/s RESULT Parser: query-selector-last= 457.727448451 runs/s median= 458.015267176 runs/s, stdev= 1.23681915516 runs/s, min= 453.972257251 runs/s, max= 459.183673469 runs/s RESULT Parser: query-selector-last= 465.57336853 runs/s median= 465.717981889 runs/s, stdev= 1.6616925374 runs/s, min= 460.947503201 runs/s, max= 467.532467532 runs/s RESULT Parser: query-selector-last= 459.836252019 runs/s median= 459.770114943 runs/s, stdev= 1.84485630505 runs/s, min= 455.696202532 runs/s, max= 462.724935733 runs/s * Parser/query-selector-last.html: 2012-06-01 Ryosuke Niwa Add public page loading performance tests using web-page-replay https://bugs.webkit.org/show_bug.cgi?id=84008 Reviewed by Dirk Pranke. Add replay tests for google.com and youtube.com as examples. * Replay: Added. * Replay/www.google.com.replay: Added. * Replay/www.youtube.com.replay: Added. 2012-05-30 Kentaro Hara [perf-test] Add a benchmark for querySelector() https://bugs.webkit.org/show_bug.cgi?id=87742 Reviewed by Ryosuke Niwa. Now I am optimizing querySelector() (bug 87625). This patch adds a performance test for querySelector(). query-selector-first.html queries an element that appears at the head of the document. On the other hand, query-selector-last.html queries an element that appears at the tail of the document. Test results in my desktop: [query-selector-first.html] RESULT Parser: query-selector-first= 252.339803014 runs/s median= 253.646265594 runs/s, stdev= 2.32610873209 runs/s, min= 248.138957816 runs/s, max= 254.777070064 runs/s RESULT Parser: query-selector-first= 252.688468897 runs/s median= 252.684876579 runs/s, stdev= 3.60008778708 runs/s, min= 246.002460025 runs/s, max= 258.397932817 runs/s RESULT Parser: query-selector-first= 253.466019656 runs/s median= 254.129606099 runs/s, stdev= 1.78002675664 runs/s, min= 247.831474597 runs/s, max= 254.777070064 runs/s RESULT Parser: query-selector-first= 256.245078189 runs/s median= 257.06940874 runs/s, stdev= 2.84722072201 runs/s, min= 249.687890137 runs/s, max= 259.74025974 runs/s RESULT Parser: query-selector-first= 252.203100497 runs/s median= 252.047989175 runs/s, stdev= 1.75233446036 runs/s, min= 248.138957816 runs/s, max= 255.427841635 runs/s [query-selector-last.html] RESULT Parser: query-selector-last= 356.009616076 runs/s median= 355.781448539 runs/s, stdev= 0.841519086864 runs/s, min= 354.430379747 runs/s, max= 358.056265985 runs/s RESULT Parser: query-selector-last= 360.735271001 runs/s median= 361.057532424 runs/s, stdev= 1.12253219867 runs/s, min= 358.514724712 runs/s, max= 362.225097025 runs/s RESULT Parser: query-selector-last= 359.598592463 runs/s median= 359.435173299 runs/s, stdev= 0.816538258728 runs/s, min= 358.056265985 runs/s, max= 360.824742268 runs/s RESULT Parser: query-selector-last= 357.260651715 runs/s median= 357.598978289 runs/s, stdev= 1.17393159885 runs/s, min= 353.982300885 runs/s, max= 358.974358974 runs/s RESULT Parser: query-selector-last= 351.696240713 runs/s median= 351.980025916 runs/s, stdev= 1.14200564038 runs/s, min= 348.692403487 runs/s, max= 353.535353535 runs/s * Parser/query-selector-first.html: Added. * Parser/query-selector-last.html: Added. 2012-05-25 Ilya Tikhonovsky Web Inspector: HeapSnapshot: introduce performance counter for HeapSnapshotConstructorsDataGrid._aggregatesReceived method. https://bugs.webkit.org/show_bug.cgi?id=87393 Reviewed by Yury Semikhatsky. * inspector/heap-snapshot.html: 2012-05-25 Ilya Tikhonovsky Web Inspector: HeapProfiler's perf test: each N-th run pushes the run results N-th times. https://bugs.webkit.org/show_bug.cgi?id=87476 The time tracking wrappers were attaching on each run. Reviewed by Yury Semikhatsky. * inspector/heap-snapshot.html: 2012-05-22 Ilya Tikhonovsky Web Inspector: HeapProfiler: upstream retainedSize calculation. https://bugs.webkit.org/show_bug.cgi?id=87107 This patch upstreams V8::HeapSnapshotGenerator::CalculateRetainedSizes function to front-end. After that we will be able to drop retainedSize field from the snapshot serialized data. See meta-bug https://bugs.webkit.org/show_bug.cgi?id=87089 Reviewed by Yury Semikhatsky. * inspector/heap-snapshot.html: add counter for the _calculateRetainedSize method. 2012-05-21 Kent Tamura Add performance tests for