| 2017-07-14 Saam Barati <sbarati@apple.com> |
| |
| Fix ambiguous description text in ARES-6 about the data the benchmark measures |
| https://bugs.webkit.org/show_bug.cgi?id=174510 |
| |
| Rubber stamped by Filip Pizlo. |
| |
| * ARES-6/about.html: |
| |
| 2017-07-07 Mathias Bynens <mathias@qiwi.be> |
| |
| Speedometer 2.0: Fix vanilla JS example |
| https://bugs.webkit.org/show_bug.cgi?id=174246 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Previously, all TODO items were assigned an ID of `null`. This patch |
| fixes that bug. Manually deleting items now works again. |
| |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/index.html: Made title consistent. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/store.js: Fixed bug with deleting items. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/readme.md: Added docs. |
| |
| 2017-07-06 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Cocoa] Improve performance of font lookups |
| https://bugs.webkit.org/show_bug.cgi?id=173960 |
| <rdar://problem/31996891> |
| |
| Reviewed by Darin Adler. |
| |
| * Layout/font-fallback-font-family.html: Added. |
| * Layout/resources/font-fallback-font-family.html: Added. |
| |
| 2017-06-10 Dan Bernstein <mitz@apple.com> |
| |
| Reverted r218056 because it made the IDE reindex constantly. |
| |
| * MediaTime/Configurations/DebugRelease.xcconfig: |
| |
| 2017-06-10 Dan Bernstein <mitz@apple.com> |
| |
| [Xcode] With Xcode 9 developer beta, everything rebuilds when switching between command-line and IDE |
| https://bugs.webkit.org/show_bug.cgi?id=173223 |
| |
| Reviewed by Sam Weinig. |
| |
| The rebuilds were happening due to a difference in the compiler options that the IDE and |
| xcodebuild were specifying. Only the IDE was passing the -index-store-path option. To make |
| xcodebuild pass that option, too, set CLANG_INDEX_STORE_ENABLE to YES if it is unset, and |
| specify an appropriate path in CLANG_INDEX_STORE_PATH. |
| |
| * MediaTime/Configurations/DebugRelease.xcconfig: |
| |
| 2017-06-07 Saam Barati <sbarati@apple.com> |
| |
| ARES-6 incorrectly measures Worst 4 Iterations |
| https://bugs.webkit.org/show_bug.cgi?id=172960 |
| |
| Reviewed by Mark Lam. |
| |
| Version 1.0 of ARES-6 was accidentally measuring the first |
| 4 iterations, instead of the worst 4. This patch fixes the |
| bug and bumps the version to 1.0.1. |
| |
| * ARES-6/glue.js: |
| (driver.reportResult): |
| * ARES-6/results.js: |
| (Results.prototype.reportResult): |
| |
| 2017-06-06 Saam Barati <sbarati@apple.com> |
| |
| Add a version number to ARES-6 |
| https://bugs.webkit.org/show_bug.cgi?id=172962 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * ARES-6/glue.js: |
| (driver.reportResult): |
| |
| 2017-06-01 Saam Barati <sbarati@apple.com> |
| |
| Ensure a good experience for ARES-6 error reporting |
| https://bugs.webkit.org/show_bug.cgi?id=171699 |
| |
| Reviewed by Filip Pizlo and Jon Davis. |
| |
| This patch fixes a bug where we would silently fail running ARES-6. The bug |
| was that we were calling reportError with the wrong |this| value. |
| I also cleaned up a bit of the code around error reporting. We |
| now indicate which test failed, and update the status to reflect |
| that a failure happened. |
| |
| This patch also modifies the CSS a bit to work better on smaller |
| screened devices. The CSS prevents the status from having a line |
| break both when an error is reported and when we're running the |
| benchmark. |
| |
| * ARES-6/driver.js: |
| (Driver): |
| (Driver.prototype.reportError): |
| * ARES-6/results.js: |
| (Results.prototype.reportError): |
| (Results): |
| * ARES-6/styles.css: |
| (.start): |
| (#status): |
| (.failed): |
| (#status.failed): |
| (.test .failed:before): |
| (#magic): |
| (@media only screen and (max-width: 784px)): |
| (.test): |
| (p): |
| (@media only screen and (max-width: 320px)): |
| |
| 2017-05-19 Ryosuke Niwa <rniwa@webkit.org> |
| |
| REGRESSION(r217118): Speedometer 2.0: Flight.js test is broken |
| https://bugs.webkit.org/show_bug.cgi?id=172394 |
| |
| Reviewed by Chris Dumez. |
| |
| Fixed the bug that we were never clearing window.checkLoadedTimeoutId. |
| |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/require.js: |
| (newContext.checkLoaded): |
| |
| 2017-05-19 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Add SixSpeed benchmark to PerformanceTests |
| https://bugs.webkit.org/show_bug.cgi?id=172326 |
| |
| Reviewed by Sam Weinig. |
| |
| This patch imports SixSpeed benchmark into WebKit tree. |
| It is a collection of ES6 microbenchmarks. While the scripts are very tiny, |
| it sometimes hits our missing care for optimization. So including it is useful. |
| |
| The benchmark is released under MIT license. |
| |
| * SixSpeed/LICENSE: Added. |
| * SixSpeed/REVISION: Added. |
| * SixSpeed/ReadMe.md: Added. |
| * SixSpeed/tests/.eslintrc: Added. |
| * SixSpeed/tests/arrow-args/arrow-args.es5: Added. |
| * SixSpeed/tests/arrow-args/arrow-args.es6: Added. |
| * SixSpeed/tests/arrow-declare/arrow-declare.es5: Added. |
| * SixSpeed/tests/arrow-declare/arrow-declare.es6: Added. |
| * SixSpeed/tests/arrow/arrow.es5: Added. |
| * SixSpeed/tests/arrow/arrow.es6: Added. |
| * SixSpeed/tests/bindings-compound/bindings-compound.es5: Added. |
| * SixSpeed/tests/bindings-compound/bindings-compound.es6: Added. |
| * SixSpeed/tests/bindings/bindings.es5: Added. |
| * SixSpeed/tests/bindings/bindings.es6: Added. |
| * SixSpeed/tests/classes/classes.es5: Added. |
| * SixSpeed/tests/classes/classes.es6: Added. |
| * SixSpeed/tests/defaults/defaults.es5: Added. |
| * SixSpeed/tests/defaults/defaults.es6: Added. |
| * SixSpeed/tests/destructuring-simple/destructuring-simple.es5: Added. |
| * SixSpeed/tests/destructuring-simple/destructuring-simple.es6: Added. |
| * SixSpeed/tests/destructuring/destructuring.es5: Added. |
| * SixSpeed/tests/destructuring/destructuring.es6: Added. |
| * SixSpeed/tests/for-of-array/for-of-array.es5: Added. |
| * SixSpeed/tests/for-of-array/for-of-array.es6: Added. |
| * SixSpeed/tests/for-of-object/for-of-object.es5: Added. |
| * SixSpeed/tests/for-of-object/for-of-object.es6: Added. |
| * SixSpeed/tests/generator/generator.es5: Added. |
| * SixSpeed/tests/generator/generator.es6: Added. |
| * SixSpeed/tests/map-set-lookup/map-set-lookup.es5: Added. |
| * SixSpeed/tests/map-set-lookup/map-set-lookup.es6: Added. |
| * SixSpeed/tests/map-set-object/map-set-object.es5: Added. |
| * SixSpeed/tests/map-set-object/map-set-object.es6: Added. |
| * SixSpeed/tests/map-set/map-set.es5: Added. |
| * SixSpeed/tests/map-set/map-set.es6: Added. |
| * SixSpeed/tests/map-string/map-string.es5: Added. |
| * SixSpeed/tests/map-string/map-string.es6: Added. |
| * SixSpeed/tests/new-target/defaults.es5: Added. |
| * SixSpeed/tests/new-target/defaults.es6: Added. |
| * SixSpeed/tests/object-assign/object-assign.es5: Added. |
| * SixSpeed/tests/object-assign/object-assign.es6: Added. |
| * SixSpeed/tests/object-literal-ext/object-literal-ext.es5: Added. |
| * SixSpeed/tests/object-literal-ext/object-literal-ext.es6: Added. |
| * SixSpeed/tests/regex-u/regex-u.es5: Added. |
| * SixSpeed/tests/regex-u/regex-u.es6: Added. |
| * SixSpeed/tests/rest/rest.es5: Added. |
| * SixSpeed/tests/rest/rest.es6: Added. |
| * SixSpeed/tests/spread-generator/spread-generator.es5: Added. |
| * SixSpeed/tests/spread-generator/spread-generator.es6: Added. |
| * SixSpeed/tests/spread-literal/spread-literal.es5: Added. |
| * SixSpeed/tests/spread-literal/spread-literal.es6: Added. |
| * SixSpeed/tests/spread/spread.es5: Added. |
| * SixSpeed/tests/spread/spread.es6: Added. |
| * SixSpeed/tests/super/super.es5: Added. |
| * SixSpeed/tests/super/super.es6: Added. |
| * SixSpeed/tests/template_string/template_string.es5: Added. |
| * SixSpeed/tests/template_string/template_string.es6: Added. |
| * SixSpeed/tests/template_string_tag/template_string_tag.es5: Added. |
| * SixSpeed/tests/template_string_tag/template_string_tag.es6: Added. |
| * SixSpeed/wrappers/wrapper.js: |
| (test): |
| |
| 2017-05-19 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Speedometer 2.0: Angular v1 test only deletes the second item |
| https://bugs.webkit.org/show_bug.cgi?id=172353 |
| |
| Reviewed by Antti Koivisto. |
| |
| Like jQuery and Inferno, run querySelector after removing each todo item. |
| |
| * Speedometer/InteractiveRunner.html: Tweaked CSS again. |
| * Speedometer/resources/tests.js: |
| |
| 2017-05-19 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Speedometer 2.0: Elem test isn't updating DOM during the measurement |
| https://bugs.webkit.org/show_bug.cgi?id=172343 |
| |
| Reviewed by Antti Koivisto. |
| |
| Elem test wasn't doing much work because it simply enqueues items into the work queue, which doesn't get |
| executed until the next requestAnimationFrame or setTimeout callback happens. |
| |
| Expose elm's work function as contentWindow.elemWork and make the first use of rAF a synchronous callback |
| just as it would when requestAnimationFrame isn't defined, and make the second use of rAF queue up to |
| an array of callbacks, and have the test runner manually invoke each callback. |
| |
| This increases the runtime of the Elm suite from 100ms to 300ms on Safari. |
| |
| * Speedometer/resources/tests.js: |
| (processElmWorkQueue): Added. A helper which processes Elm's work queue and manually invokes render callbacks. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/dist/elm.js: |
| |
| 2017-05-18 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Speedometer 2.0: Flight.js test is sometime broken |
| https://bugs.webkit.org/show_bug.cgi?id=172347 |
| |
| Reviewed by Antti Koivisto. |
| |
| The bug was caused by the test runner only waiting for #new-todo, which happens before all other states are |
| updated in the Flight.js dependency example. As done in Speedometer v1, insert a dummy element with id set |
| to appIsReady and wait for this element to appear in the benchmark harness. |
| |
| * Speedometer/resources/tests.js: Wait for #appIsReady. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/main.js: Removed the superflous call |
| to console.log. |
| (checkReady): Added. Insert #appIsReady if checkLoaded is no longer running at 50ms interval. Because this |
| could happen asynchronously, we check the absense of checkLoadedTimeoutId Ωevery 10ms for 5 times for |
| the total duration of 50ms. If checkLoadedTimeoutId was never present, we call it ready. If we ever observed |
| the presence of checkLoadedTimeoutId, wait another 50ms and start over. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/require.js: |
| (.newContext.checkLoaded): Expose checkLoadedTimeoutId which is a timer ID used to check the dependency. |
| |
| 2017-05-19 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Speedometer 2.0: jQuery and Inferno tests don't delete all ToDo items |
| https://bugs.webkit.org/show_bug.cgi?id=172341 |
| |
| Reviewed by Antti Koivisto. |
| |
| The bug was caused by the fact TodoMVC examples for jQuery and Inferno JS create a new button |
| to delete the todo item each time todo items are rendered. |
| |
| Fixed the bug by dynamically look for .destroy using querySelector for each item. |
| |
| Also moved the deletion of the iframe from the end of each test suite to the beginning of each suite. |
| This will make debugging the issue like this easier on InteractiveRunner.html since the iframe |
| will stick around after stepping the last item in the suite. |
| |
| * Speedometer/InteractiveRunner.html: Tweaked the CSS to make buttons to "Step" and "Run" always visible |
| even if the list of suites and subtests are too long to fit in the viewport. |
| |
| * Speedometer/resources/benchmark-runner.js: |
| (BenchmarkRunner.prototype.step): |
| (BenchmarkRunner.prototype._runTestAndRecordResults): |
| |
| * Speedometer/resources/tests.js: Fixed the bug for jQuery and Inferno. In the case of jQuery |
| we also have to fix the code for checking every ToDo item as completed as well. |
| |
| 2017-05-19 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Speedometer 2.0: Vanilla JS test doesn't mark all todo items as completed |
| https://bugs.webkit.org/show_bug.cgi?id=172348 |
| |
| Reviewed by Antti Koivisto. |
| |
| The bug was caused by the in-memory store class using the milisecond precision timestamp as an ID. |
| Because we inserts 50 items all at once, this can result in multiple data items sharing a single ID. |
| |
| Fixed the bug by using a mononotically increasing ID instead. |
| |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/store.js: |
| (Store.prototype.save): |
| |
| 2017-05-18 Ryosuke Niwa <rniwa@webkit.org> |
| |
| REGRESSION (r216694 - 216712): Performance test Speedometer/Full.html is failing |
| https://bugs.webkit.org/show_bug.cgi?id=172077 |
| |
| Reviewed by Chris Dumez. |
| |
| Rename Full.html to index.html to match the convention of other benchmarks. |
| |
| * Speedometer/index.html: Renamed from PerformanceTests/Speedometer/Full.html. |
| |
| 2017-05-18 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: check-in missing React TodoMVC dependency |
| https://bugs.webkit.org/show_bug.cgi?id=172213 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Speedometer/resources/todomvc/architecture-examples/react/index.html: fix director.min.js path. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/director/director.min.js: Added. |
| |
| 2017-05-17 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: adjust Ember TodoMVC to use full path |
| https://bugs.webkit.org/show_bug.cgi?id=172211 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Speedometer/resources/tests.js: use full path to Ember TodoMVC app. |
| |
| 2017-05-16 Addy Osmani <addyosmani@gmail.com> |
| |
| Update to Speedometer 2.0 w/updated frameworks + new workloads |
| https://bugs.webkit.org/show_bug.cgi?id=170513 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Refresh test runner and fix apps to work with it. |
| |
| * Speedometer/InteractiveRunner.html: |
| (parseQueryString): Adds support for startAutomatically query parameter. |
| * Speedometer/resources/tests.js: |
| (triggerEnter): Refactor event triggering behavior for tests. |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/index.html: |
| (CSS): Drop reference to extraneous stylesheet in Angular TodoMVC. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/assets/todomvc.js: |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/index.html: |
| (base): Enable Ember TodoMVC to be run from any directory/level. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/services/memory.js: |
| (localStorageMemory): Correct import path and switch to window.localStorageMemory to fix Ember failures. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/services/repo.js: |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/tests/index.html: |
| * Speedometer/resources/todomvc/architecture-examples/jquery/index.html: |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/director/LICENSE: Added. |
| (LICENSE): Add missing metadata and LICENSE files as part of director.js package for jQuery TodoMVC |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/director/bower.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/director/dist/director.js: Add missing |
| director.js dependency for jQuery TodoMVC implementation. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/director/dist/director.min.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/director/dist/ender.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/director/package.json: Added. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/index.html: Fix path to built Elm TodoMVC scripts. |
| |
| 2017-05-12 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Add a React.js TodoMVC implementation |
| https://bugs.webkit.org/show_bug.cgi?id=171444 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Adds a more recent React.js TodoMVC implemenation to Speedometer |
| |
| * Speedometer/resources/todomvc/architecture-examples/react/build.min.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/js/app.jsx: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/license.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/LICENSE: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/bind.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/bower.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/dedupe.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/index.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/classnames/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/director/LICENSE: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/director/bower.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/director/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react-dom/LICENSE: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react-dom/dist/react-dom-server.min.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react-dom/dist/react-dom.min.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react-dom/index.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react/LICENSE: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react/README.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react/dist/react-with-addons.min.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react/dist/react.min.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/react/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/todomvc-app-css/index.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/todomvc-common/base.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/node_modules/todomvc-common/base.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/npm-shrinkwrap.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react/yarn.lock: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Update the Ember.js TodoMVC to a more recent version |
| https://bugs.webkit.org/show_bug.cgi?id=171342 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Update the Ember TodoMVC app in Speedometer to latest |
| |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/assets/todomvc.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/assets/todomvc.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/assets/vendor.css: Renamed from PerformanceTests/Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/assets/vendor.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/bower.json: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/ember-data/ember-data.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter/localstorage_adapter.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/jquery/jquery.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/bg.png: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/crossdomain.xml: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/index.html: |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/js/app.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/js/controllers/todo_controller.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/js/controllers/todos_controller.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/js/helpers/pluralize.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/js/models/todo.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/js/router.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/js/views/edit_todo_view.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/js/views/todos_view.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/readme.md: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/robots.txt: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/.bowerrc: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/.editorconfig: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/.ember-cli: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/.gitignore: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/.jshintrc: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/.travis.yml: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/.watchmanconfig: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/README.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/app.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/components/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/components/todo-item.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/components/todo-list.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/controllers/active.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/controllers/application.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/controllers/completed.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/helpers/gt.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/helpers/pluralize.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/instance-initializers/global.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/models/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/resolver.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/router.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/routes/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/routes/application.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/services/memory.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/services/repo.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/styles/app.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/active.hbs: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/application.hbs: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/completed.hbs: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/components/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/components/todo-item.hbs: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/components/todo-list.hbs: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/app/templates/index.hbs: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/bower.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/config/environment.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/ember-cli-build.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/public/crossdomain.xml: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/public/robots.txt: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/testem.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/.jshintrc: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/destroy-app.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/module-for-acceptance.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/resolver.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/helpers/start-app.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/integration/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/test-helper.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/tests/unit/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/vendor/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/vendor/base.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/source/vendor/index.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/test.html: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/testem.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/tests/index.html: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Add a React + Redux TodoMVC implementation |
| https://bugs.webkit.org/show_bug.cgi?id=171329 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Adds React and Redux TodoMVC implementation for Speedometer |
| |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/README.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/dist/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/dist/static/css/main.d43d2909.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/dist/static/js/main.946269ff.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/public/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/actions/index.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/actions/index.spec.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/Footer.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/Footer.spec.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/Header.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/Header.spec.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/MainSection.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/MainSection.spec.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/TodoItem.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/TodoItem.spec.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/TodoTextInput.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/components/TodoTextInput.spec.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/constants/ActionTypes.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/constants/TodoFilters.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/containers/App.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/index.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/reducers/index.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/reducers/todos.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/src/reducers/todos.spec.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/react-redux/yarn.lock: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Add an ES2015 (Babel + Webpack) TodoMVC implementation |
| https://bugs.webkit.org/show_bug.cgi?id=171452 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Adds ES2015 Babel + Webpack TodoMVC implem |
| |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/.babelrc: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/.eslintignore: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.app.73bcc5d3c1d07180f0e3.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.app.73bcc5d3c1d07180f0e3.js.map: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.manifest.112bf70a7f3deebf1f93.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.manifest.112bf70a7f3deebf1f93.js.map: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.vendor.efaa3e0e20077c8e7471.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/bundle.vendor.efaa3e0e20077c8e7471.js.map: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/index.html: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.app.73bcc5d3c1d07180f0e3.css: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.app.73bcc5d3c1d07180f0e3.css.map: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.vendor.efaa3e0e20077c8e7471.css: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/styles.vendor.efaa3e0e20077c8e7471.css.map: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/package.json: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/app.css: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/app.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/bootstrap.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/controller.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/controller.test.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/helpers.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/index.html: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/memory.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/model.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/store.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/template.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/todo.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/src/view.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/webpack.config.babel.js: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Add an Inferno TodoMVC implementation |
| https://bugs.webkit.org/show_bug.cgi?id=171411 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Adds a Inferno implem of TodoMVC to Speedometer |
| |
| * Speedometer/resources/todomvc/architecture-examples/inferno/dist/bundle.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-app-css/index.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-app-css/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-app-css/readme.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-common/base.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-common/base.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-common/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/todomvc-common/readme.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/src/base.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/src/index.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/src/item.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/src/model.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/src/share.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/inferno/webpack.config.js: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Add an Angular 2 (4.x) TodoMVC implementation |
| https://bugs.webkit.org/show_bug.cgi?id=171343 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Add a TodoMVC Angular 2 (4.x) implem for the benchmark |
| |
| * Speedometer/resources/todomvc/architecture-examples/angular/.angular-cli.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/.editorconfig: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/README.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/assets/css/todomvc-app.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/assets/css/todomvc-common.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/favicon.ico: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/inline.b342d102ba4a53bf2002.bundle.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/main.779eb2f1ddbe23ac61c7.bundle.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/polyfills.2d45a4c73c85e24fe474.bundle.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/styles.d41d8cd98f00b204e980.bundle.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/dist/vendor.b4be818cb6d8028f9192.bundle.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/e2e/app.e2e-spec.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/e2e/app.po.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/e2e/tsconfig.e2e.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/karma.conf.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/protractor.conf.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.spec.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.component.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/app/app.module.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/app/todo-data.service.spec.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/app/todo-data.service.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/app/todo.spec.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/app/todo.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/assets/.gitkeep: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/assets/css/todomvc-app.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/assets/css/todomvc-common.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/environments/environment.prod.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/environments/environment.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/favicon.ico: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/main.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/polyfills.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/styles.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/test.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/tsconfig.app.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/tsconfig.spec.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/src/typings.d.ts: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/tsconfig.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angular/tslint.json: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Add a Vue.js TodoMVC implementation |
| https://bugs.webkit.org/show_bug.cgi?id=171325 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Adds a Vue.js TodoMVC implementation to Speedometer |
| |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/.babelrc: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/.editorconfig: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/.eslintignore: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/.eslintrc.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/README.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/config/dev.env.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/config/index.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/config/prod.env.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/static/css/app.677b45842d9f8b96e5b23c18969233b7.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/static/js/app.b0e835874bc8949670d1.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/static/js/manifest.84b2b4fceb74ab1f91f3.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/static/js/vendor.a52517c5aa98e7fbea2e.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/src/App.vue: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/src/components/Todos.vue: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/src/components/todo.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/src/main.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/vuejs-cli/yarn.lock: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Update the vanilla JavaScript TodoMVC implem to a more recent version |
| https://bugs.webkit.org/show_bug.cgi?id=171306 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Update vanilla JS TodoMVC implementation to the latest. |
| |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower.json: Removed. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.css: Removed. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.js: Removed. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/bg.png: Removed. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/index.html: |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/app.js: |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/controller.js: |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/helpers.js: |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/model.js: |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/store.js: |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/template.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/js/view.js: |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/node_modules/todomvc-app-css/index.css: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/node_modules/todomvc-common/base.css: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/node_modules/todomvc-common/base.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/vanillajs/package.json: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Add an ES2015 TodoMVC implementation |
| https://bugs.webkit.org/show_bug.cgi?id=171448 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Adds ES2015 TodoMVC implementation for Speedometer |
| |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/index.html: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-app-css/index.css: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-app-css/package.json: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-app-css/readme.md: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-common/base.css: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-common/base.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-common/package.json: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-common/readme.md: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/package.json: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/src/.jshintrc: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/src/app.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/src/controller.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/src/helpers.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/src/model.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/src/store.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/src/template.js: Added. |
| * Speedometer/resources/todomvc/vanilla-examples/es2015/src/view.js: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Add an Elm TodoMVC implementation |
| https://bugs.webkit.org/show_bug.cgi?id=171464 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Speedometer: Add Elm TodoMVC implementation |
| |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/Todo.elm: Added. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/Todo/Task.elm: Added. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/dist/elm.js: Added. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/index.html: Added. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/node_modules/todomvc-app-css/index.css: Added. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/node_modules/todomvc-common/base.css: Added. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/node_modules/todomvc-common/base.js: Added. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/package.json: Added. |
| * Speedometer/resources/todomvc/functional-prog-examples/elm/readme.md: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Update the Backbone.js implementation to a more recent library version |
| https://bugs.webkit.org/show_bug.cgi?id=171305 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Updates the Backbone.js TodoMVC implementation to latest |
| |
| * Speedometer/resources/todomvc/architecture-examples/backbone/bower.json: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage/backbone.localStorage.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/jquery/jquery.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.css: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/bg.png: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/underscore/underscore.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/index.html: |
| * Speedometer/resources/todomvc/architecture-examples/backbone/js/app.js: |
| * Speedometer/resources/todomvc/architecture-examples/backbone/js/backbone.sync.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/js/collections/todos.js: |
| * Speedometer/resources/todomvc/architecture-examples/backbone/js/models/todo.js: |
| * Speedometer/resources/todomvc/architecture-examples/backbone/js/routers/router.js: |
| * Speedometer/resources/todomvc/architecture-examples/backbone/js/views/app-view.js: |
| * Speedometer/resources/todomvc/architecture-examples/backbone/js/views/todo-view.js: |
| * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/backbone/backbone.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/architecture-examples/backbone/bower_components/backbone/backbone.js. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/jquery/dist/jquery.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/todomvc-app-css/index.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/todomvc-common/base.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/todomvc-common/base.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/node_modules/underscore/underscore.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/backbone/package.json: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Add a Preact.js TodoMVC implementation |
| https://bugs.webkit.org/show_bug.cgi?id=171323 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Adds Preact.js TodoMVC implementation to Speedometer |
| |
| * Speedometer/resources/todomvc/architecture-examples/preact/.babelrc: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/README.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/dist/app.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/dist/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/dist/todomvc-common/base.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/dist/todomvc-common/base.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/dist/todomvc.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/rollup.config.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/src/app/footer.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/src/app/index.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/src/app/item.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/src/app/model.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/src/app/util.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/src/index.html: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/src/index.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/preact/webpack.config.babel.js: Added. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Update the jQuery implementation to a more recent library version |
| https://bugs.webkit.org/show_bug.cgi?id=171308 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Updates the jQuery implementation of TodoMVC to a more recent version |
| |
| * Speedometer/resources/todomvc/architecture-examples/jquery/bower.json: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/handlebars/handlebars.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/jquery/jquery.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.css: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/bg.png: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/index.html: |
| * Speedometer/resources/todomvc/architecture-examples/jquery/js/app.js: |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/handlebars/dist/handlebars.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/jquery/dist/jquery.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-app-css/index.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-app-css/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-app-css/readme.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-common/base.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-common/base.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-common/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/todomvc-common/readme.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/jquery/readme.md: |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Update the Flight.js implementation to a more recent library version |
| https://bugs.webkit.org/show_bug.cgi?id=171471 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Speedometer: Update FlightJS TodoMVC implementation |
| |
| * Speedometer/resources/todomvc/dependency-examples/flight/.gitignore: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/.jshintrc: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/app/js/main.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/app/js/store.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/bower.json: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-shim.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/compose.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/index.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/logger.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/jquery/jquery.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.css: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/bg.png: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/data/stats.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/data/stats.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/data/todos.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/data/todos.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/main.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/page/app.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/app.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/store.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/main_selector.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/main_selector.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/new_item.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/new_item.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/stats.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/stats.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/todo_list.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/todo_list.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/toggle_all.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/toggle_all.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/with_filters.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/ui/with_filters.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/utils.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/js/utils.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/templates/stats.html: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/templates/stats.html. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/app/templates/todo.html: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/app/templates/todo.html. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/index.html: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/index.html. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/depot/README.md: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/depot/depot.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/depot/depot.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/depot/depot.min.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/depot/package.json: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/es5-shim/LICENSE: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/es5-shim/es5-sham.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-sham.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/es5-shim/es5-sham.min.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/es5-shim/es5-shim.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/es5-shim/es5-shim.min.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/LICENSE: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/index.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/advice.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/advice.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/base.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/base.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/component.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/component.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/compose.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/debug.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/debug.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/logger.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/registry.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/registry.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/flight/lib/utils.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/utils.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/jquery/README.md: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/jquery/dist/jquery.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/jquery/dist/jquery.min.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/jquery/package.json: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/memorystorage/memorystorage.js: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs-text/LICENSE: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs-text/README.md: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs-text/bower.json: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs-text/package.json: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs-text/text.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/requirejs-text/text.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/README.md: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/package.json: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/requirejs/require.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/requirejs/require.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-app-css/index.css: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-app-css/package.json: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-app-css/readme.md: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-common/base.css: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-common/base.js: Renamed from PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.js. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-common/package.json: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-common/readme.md: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/flight/package.json: Added. |
| * Speedometer/resources/todomvc/dependency-examples/flight/karma.conf.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/package.json: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/readme.md: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/.jshintrc: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/fixture/footer.html: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/fixture/new_todo.html: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/fixture/toggle_all.html: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/mock/datastore.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/spec/data/stats_spec.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/spec/data/todos_spec.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/spec/ui/new_item_spec.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/spec/ui/stats_spec.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/spec/ui/toggle_all_spec.js: Removed. |
| * Speedometer/resources/todomvc/dependency-examples/flight/test/test-main.js: Removed. |
| |
| 2017-05-11 Addy Osmani <addyosmani@gmail.com> |
| |
| Speedometer: Update the AngularJS implementation to a more recent library version |
| https://bugs.webkit.org/show_bug.cgi?id=171307 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Updates the AngularJS implementation of TodoMVC to 1.4.x |
| |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/bower.json: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/angular-mocks/angular-mocks.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/angular/angular.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.css: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/bg.png: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/index.html: |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/js/app.js: |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/js/controllers/todoCtrl.js: |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/js/directives/todoBlur.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/js/directives/todoEscape.js: |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/js/directives/todoFocus.js: |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/js/services/todoStorage.js: |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/angular-resource/angular-resource.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/angular-route/angular-route.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/angular/angular.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-app-css/index.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-app-css/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-app-css/readme.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-common/base.css: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-common/base.js: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-common/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/todomvc-common/readme.md: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/package.json: Added. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/readme.md: |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/test/config/testacular.conf.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/test/package.json: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/test/readme.md: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/test/unit/directivesSpec.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/test/unit/todoCtrlSpec.js: Removed. |
| * Speedometer/resources/todomvc/architecture-examples/angularjs/todomvc-index.html: Added. |
| |
| 2017-05-09 Jon Davis <jond@apple.com> |
| |
| [ARES6] Improved the running test indicator |
| https://bugs.webkit.org/show_bug.cgi?id=171400 |
| |
| Running tests show a triangle before the test title and the titles are white. |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * ARES-6/index.html: |
| * ARES-6/styles.css: |
| (.test .running): |
| (.test .running:before): |
| (.test .indicator): Deleted. |
| (.test .indicator.running): Deleted. |
| (@keyframes test-running): Deleted. |
| |
| 2017-05-04 Andy VanWagoner <thetalecrafter@gmail.com> |
| |
| [INTL] Add PerformanceTests for Intl objects |
| https://bugs.webkit.org/show_bug.cgi?id=171695 |
| |
| Reviewed by Benjamin Poulain. |
| |
| * Intl/collator-compare-all-options.html: Added. |
| * Intl/collator-compare-default.html: Added. |
| * Intl/collator-create-all-options.html: Added. |
| * Intl/collator-create-default.html: Added. |
| * Intl/datetimeformat-create-all-options.html: Added. |
| * Intl/datetimeformat-create-default.html: Added. |
| * Intl/datetimeformat-format-all-options.html: Added. |
| * Intl/datetimeformat-format-default.html: Added. |
| * Intl/numberformat-create-all-options.html: Added. |
| * Intl/numberformat-create-default.html: Added. |
| * Intl/numberformat-format-all-options.html: Added. |
| * Intl/numberformat-format-default.html: Added. |
| |
| 2017-04-27 Michael Saboff <msaboff@apple.com> |
| |
| Add back tests inadvertently deleted in r205032. |
| |
| Rubber stamped by Geoffrey Garen. |
| |
| * MallocBench/run-malloc-benchmarks: |
| |
| 2017-04-25 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Add performance test for FontCache::systemFallbackForCharacters() |
| https://bugs.webkit.org/show_bug.cgi?id=170842 |
| |
| Reviewed by Tim Horton. |
| |
| * Layout/word-joiner.html: Added. |
| |
| 2017-04-24 Saam Barati <sbarati@apple.com> |
| |
| Add ML to ARES6 |
| https://bugs.webkit.org/show_bug.cgi?id=171206 |
| |
| Rubber stamped by Filip Pizlo. |
| |
| This patch adds a new test to ARES6 called ML. ML is an implementation of |
| a feedforward neural network: https://github.com/mljs/feedforward-neural-networks. |
| It makes heavy use of classes, and does non-trivial matrix math using the |
| ml-matrix library: https://github.com/mljs/matrix |
| |
| * ARES-6/about.html: |
| * ARES-6/cli.js: |
| * ARES-6/glue.js: |
| * ARES-6/index.html: |
| * ARES-6/ml: Added. |
| * ARES-6/ml/benchmark.js: Added. |
| * ARES-6/ml/index.js: Added. |
| * ARES-6/ml_benchmark.js: Added. |
| |
| 2017-04-21 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Add performance test to measure mid-word line breaking with long text. |
| https://bugs.webkit.org/show_bug.cgi?id=171136 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Layout/simple-line-layout-word-break-long-text.html: Added. |
| |
| 2017-04-17 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r215366. |
| |
| This test is failing on performance bots. |
| |
| Reverted changeset: |
| |
| "Add performance test for asking the platform for a font for |
| U+2060 WORD JOINER" |
| https://bugs.webkit.org/show_bug.cgi?id=170842 |
| http://trac.webkit.org/changeset/215366 |
| |
| 2017-04-14 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Add performance test for asking the platform for a font for U+2060 WORD JOINER |
| https://bugs.webkit.org/show_bug.cgi?id=170842 |
| |
| Reviewed by Tim Horton. |
| |
| * Layout/word-joiner.html: Added. |
| |
| 2017-04-03 Saam Barati <sbarati@apple.com> |
| |
| Add a new test to ARES6 |
| https://bugs.webkit.org/show_bug.cgi?id=170077 |
| |
| Rubber stamped by Filip Pizlo. |
| |
| This patch adds a new test to ARES6. The test is called Babylon. Babylon is |
| the JavaScript parser that is part of the Babel transpiler. The test runs |
| the parser on 4 different JS scripts. |
| |
| * ARES-6/Babylon: Added. |
| * ARES-6/Babylon/AUTHORS: Added. |
| * ARES-6/Babylon/air-blob.js: Added. |
| (Reg): |
| (Reg.fromReg): |
| (Reg.prototype.get index): |
| (Reg.prototype.get type): |
| (Reg.prototype.get name): |
| (Reg.prototype.get isCalleeSave): |
| (Reg.prototype.get isReg): |
| (Reg.prototype.hash): |
| (Reg.prototype.toString): |
| (Reg.extract): |
| (Reg.forEachFast): |
| (Reg.forEach): |
| (newGPR): |
| (Reg.gprs.Reg.fprs.Reg.calleeSaveGPRs.Reg.calleeSaveFPRs.Reg.calleeSaves): |
| * ARES-6/Babylon/babylon-blob.js: Added. |
| (export.default.Parser): |
| (export.default.Parser.prototype.isReservedWord): |
| (export.default.Parser.prototype.hasPlugin): |
| (export.default.Parser.prototype.extend): |
| (export.default.Parser.prototype.loadPlugins): |
| (export.default.Parser.prototype.parse): |
| * ARES-6/Babylon/basic-blob.js: Added. |
| (Basic.NumberApply): |
| (Basic.Variable): |
| (Basic.Const): |
| (Basic.NumberPow): |
| (Basic.NumberMul): |
| (Basic.NumberDiv): |
| (Basic.NumberNeg): |
| (Basic.NumberAdd): |
| (Basic.NumberSub): |
| (Basic.StringVar): |
| (Basic.Equals): |
| (Basic.NotEquals): |
| (Basic.LessThan): |
| (Basic.GreaterThan): |
| (Basic.LessEqual): |
| (Basic.GreaterEqual): |
| (Basic.GoTo): |
| (Basic.GoSub): |
| (Basic.Def): |
| (Basic.Let): |
| (Basic.If): |
| (Basic.Return): |
| (Basic.Stop): |
| (Basic.On): |
| (sideState.shouldStop): |
| (Basic.For): |
| (Basic.Next): |
| (Basic.Print): |
| (Basic.Input): |
| (Basic.Read): |
| (Basic.Restore): |
| (Basic.Dim): |
| (Basic.Randomize): |
| (Basic.End): |
| (Basic.Program): |
| * ARES-6/Babylon/benchmark.js: Added. |
| (this.performance.performance.now.currentTime): |
| (else.this.preciseTime.currentTime): |
| (else.currentTime): |
| (BabylonBenchmark.appendSource): |
| (BabylonBenchmark): |
| (BabylonBenchmark.prototype.runIteration.parse): |
| (BabylonBenchmark.prototype.runIteration.parseExpression): |
| (BabylonBenchmark.prototype.runIteration): |
| (runBenchmark): |
| * ARES-6/Babylon/index.js: Added. |
| (isIdentifierStart): |
| (isIdentifierChar): |
| (isNewLine): |
| (Position): |
| (SourceLocation): |
| (getLineInfo): |
| (TokenType): |
| (KeywordTokenType): |
| (BinopTokenType): |
| (TokContext): |
| (tt.parenR.updateContext.tt.braceR.updateContext): |
| (tt.name.updateContext): |
| (tt.braceL.updateContext): |
| (tt.dollarBraceL.updateContext): |
| (tt.parenL.updateContext): |
| (tt.incDec.updateContext): |
| (tt._function.updateContext): |
| (tt.backQuote.updateContext): |
| (State.prototype.init): |
| (State.prototype.curPosition): |
| (State.prototype.clone): |
| (State): |
| (Token): |
| (codePointToString): |
| (Tokenizer): |
| (Tokenizer.prototype.next): |
| (Tokenizer.prototype.eat): |
| (Tokenizer.prototype.match): |
| (Tokenizer.prototype.isKeyword): |
| (Tokenizer.prototype.lookahead): |
| (Tokenizer.prototype.setStrict): |
| (Tokenizer.prototype.curContext): |
| (Tokenizer.prototype.nextToken): |
| (Tokenizer.prototype.readToken): |
| (Tokenizer.prototype.fullCharCodeAtPos): |
| (Tokenizer.prototype.pushComment): |
| (Tokenizer.prototype.skipBlockComment): |
| (Tokenizer.prototype.skipLineComment): |
| (Tokenizer.prototype.skipSpace): |
| (Tokenizer.prototype.finishToken): |
| (Tokenizer.prototype.readToken_dot): |
| (Tokenizer.prototype.readToken_slash): |
| (Tokenizer.prototype.readToken_mult_modulo): |
| (Tokenizer.prototype.readToken_pipe_amp): |
| (Tokenizer.prototype.readToken_caret): |
| (Tokenizer.prototype.readToken_plus_min): |
| (Tokenizer.prototype.readToken_lt_gt): |
| (Tokenizer.prototype.readToken_eq_excl): |
| (Tokenizer.prototype.getTokenFromCode): |
| (Tokenizer.prototype.finishOp): |
| (Tokenizer.prototype.readRegexp): |
| (Tokenizer.prototype.readInt): |
| (Tokenizer.prototype.readRadixNumber): |
| (Tokenizer.prototype.readNumber): |
| (Tokenizer.prototype.readCodePoint): |
| (Tokenizer.prototype.readString): |
| (Tokenizer.prototype.readTmplToken): |
| (Tokenizer.prototype.readEscapedChar): |
| (Tokenizer.prototype.readHexChar): |
| (Tokenizer.prototype.readWord1): |
| (Tokenizer.prototype.readWord): |
| (Tokenizer.prototype.braceIsBlock): |
| (Tokenizer.prototype.updateContext): |
| (getOptions): |
| (prototype.isReservedWord): |
| (prototype.hasPlugin): |
| (prototype.extend): |
| (prototype.loadPlugins): |
| (prototype.parse): |
| (last): |
| (pp.addComment): |
| (pp.processComment): |
| (pp.checkPropClash): |
| (pp.getExpression): |
| (pp.parseExpression): |
| (pp.parseMaybeAssign): |
| (pos.set i): |
| * ARES-6/Babylon/inspector-blob.js: Added. |
| (WebInspector.ScriptSyntaxTree): |
| (WebInspector.ScriptSyntaxTree.prototype.get parsedSuccessfully): |
| (WebInspector.ScriptSyntaxTree.prototype.forEachNode): |
| (WebInspector.ScriptSyntaxTree.prototype.filter): |
| (WebInspector.ScriptSyntaxTree.prototype.containersOfOffset): |
| (WebInspector.ScriptSyntaxTree.prototype.filterByRange.filterForNodesInRange): |
| (WebInspector.ScriptSyntaxTree.prototype.filterByRange): |
| (WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement.removeFunctionsFilter): |
| (WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement): |
| (WebInspector.ScriptSyntaxTree.functionReturnDivot): |
| (WebInspector.ScriptSyntaxTree.prototype.updateTypes): |
| (WebInspector.ScriptSyntaxTree.prototype._gatherIdentifiersInDeclaration.gatherIdentifiers): |
| (WebInspector.ScriptSyntaxTree.prototype._gatherIdentifiersInDeclaration): |
| (WebInspector.ScriptSyntaxTree.prototype._defaultParserState): |
| (WebInspector.ScriptSyntaxTree.prototype._recurse): |
| (WebInspector.ScriptSyntaxTree.prototype._recurseArray): |
| (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree): |
| * ARES-6/about.html: |
| * ARES-6/babylon_benchmark.js: Added. |
| * ARES-6/cli.js: |
| * ARES-6/glue.js: |
| * ARES-6/index.html: |
| * ARES-6/results.js: |
| (Results.prototype.reportResult): |
| (Results.prototype.reportResult.averageAbovePercentile): Deleted. |
| * ARES-6/styles.css: |
| (.test): |
| (@media only screen and (max-width: 784px)): |
| |
| 2017-03-29 Zalan Bujtas <zalan@apple.com> |
| |
| [Arabic text] Add whitespace preserve/word wrap performance test. |
| https://bugs.webkit.org/show_bug.cgi?id=170243 |
| |
| Reviewed by Simon Fraser. |
| |
| * Layout/ArabicLineLayout-pre-and-wrap.html: Added. |
| |
| 2017-03-08 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Add helpers to run Six Speed to run-jsc-benchmarks |
| https://bugs.webkit.org/show_bug.cgi?id=169351 |
| |
| Reviewed by Saam Barati. |
| |
| * SixSpeed/wrappers/wrapper.js: Added. |
| (assertEqual): |
| (test): |
| (jscRun): |
| |
| 2017-03-08 Jon Davis <jond@apple.com> |
| |
| Fixed ARES-6 animations for other browsers |
| |
| Rubber stamped by Saam Barati. |
| |
| * ARES-6/styles.css: |
| (.swoop): |
| (.logo): |
| |
| 2017-03-07 Filip Pizlo <fpizlo@apple.com> |
| |
| Revise the ARES-6 explainer text |
| https://bugs.webkit.org/show_bug.cgi?id=169287 |
| |
| Reviewed by Saam Barati. |
| |
| Just did some copy-editing. |
| |
| * ARES-6/about.html: |
| |
| 2017-03-06 Jon Davis <jond@apple.com> |
| |
| Refined the ARES-6 experience |
| https://bugs.webkit.org/show_bug.cgi?id=169205 |
| |
| Reviewed by Saam Barati. |
| |
| * ARES-6/about.html: Copied from PerformanceTests/ARES-6/index.html. |
| * ARES-6/driver.js: |
| (Driver.prototype.start): |
| (Driver.prototype._updateIterations): |
| (Driver): |
| * ARES-6/index.html: |
| * ARES-6/stats.js: |
| (Stats.prototype.toString.span.span): |
| * ARES-6/styles.css: |
| (body): |
| (.swoop): |
| (p): |
| (.logo): |
| (.start): |
| (.test): |
| (.test:nth-child(odd)): |
| (.overall): |
| (.about h2): |
| (.button): |
| (.button:hover): |
| (.button.return:before): |
| (@keyframes fade-in): |
| (@keyframes scale-in): |
| (@keyframes flicker-in): |
| (@keyframes wipe-in): |
| (.flip): Deleted. |
| (.testing, .about): Deleted. |
| (.testing): Deleted. |
| (.about): Deleted. |
| (#about:target): Deleted. |
| |
| 2017-03-06 Jeremy Jones <jeremyj@apple.com> |
| |
| StandardCanPlayThrough.html does not work on iOS. |
| https://bugs.webkit.org/show_bug.cgi?id=169207 |
| |
| Reviewed by Jer Noble. |
| |
| On iOS only, add muted=true and autoplay=allowed. The loading policy on iOS requires these attributes to load enough |
| data to trigger canPlayThrough. |
| |
| * Media/StandardCanPlayThrough.html: |
| |
| 2017-02-13 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Add performance test with text-rendering: optimizeSpeed |
| https://bugs.webkit.org/show_bug.cgi?id=168248 |
| |
| Reviewed by Simon Fraser. |
| |
| * Layout/simple-line-layout-with-varying-content-and-optimized-speed.html: Added. |
| |
| 2017-02-10 Zalan Bujtas <zalan@apple.com> |
| |
| Mail hangs when removing multiple rows from large table. |
| https://bugs.webkit.org/show_bug.cgi?id=168103 |
| <rdar://problem/30090186> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * DOM/large-table-edit.html: Added. |
| |
| 2017-02-05 Filip Pizlo <fpizlo@apple.com> |
| |
| Beef up the ARES-6 explainer text |
| https://bugs.webkit.org/show_bug.cgi?id=167867 |
| |
| Reviewed by Saam Barati. |
| |
| Added appropriate links. |
| |
| Added text that explains the subscores. |
| |
| * ARES-6/index.html: |
| |
| 2017-02-06 Jer Noble <jer.noble@apple.com> |
| |
| Playback stalls when a SourceBuffer append causes frame eviction |
| https://bugs.webkit.org/show_bug.cgi?id=167834 |
| |
| Reviewed by Eric Carlson. |
| |
| Add an in-page performance test measuring the amount of time required |
| to append a large amount of media data to a SourceBuffer, and then to |
| completely remove that data 30s at a time. |
| |
| Add a microbenchmark for MediaTime which measures the amount of time |
| required to create a 1M entry std::map and traverse the map 1M times. |
| |
| * Media/MSERemoveCodedFrames.html: Added. |
| * Media/media-source-loader.js: |
| (MediaSourceLoader.prototype.get duration): |
| * MediaTime/Configurations/Base.xcconfig: Added. |
| * MediaTime/Configurations/DebugRelease.xcconfig: Added. |
| * MediaTime/Makefile: Added. |
| * MediaTime/MediaTime.xcodeproj/project.pbxproj: Added. |
| * MediaTime/main.cpp: Added. |
| (performTest): |
| (test): |
| (main): |
| * Skipped: |
| |
| 2017-02-06 Saam Barati <sbarati@apple.com> |
| |
| Make ARES-6 work from the CLI again |
| https://bugs.webkit.org/show_bug.cgi?id=167895 |
| |
| Reviewed by Michael Saboff. |
| |
| * ARES-6/driver.js: |
| (Driver.prototype.readyTrigger): |
| (Driver.prototype.disableTrigger): |
| * ARES-6/stats.js: |
| (Stats.prototype.toString.span.span): |
| (Stats.prototype.toString.return.span): |
| (Stats.prototype.toString): |
| |
| 2017-02-06 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Skip ARES-6 on performance bots |
| https://bugs.webkit.org/show_bug.cgi?id=167863 |
| |
| Unreviewed test gardening. |
| |
| ES6SampleBench was renamed to ARES-6, so this should be updated in PerformanceTests/Skipped as well. |
| |
| * Skipped: |
| |
| 2017-02-05 Filip Pizlo <fpizlo@apple.com> |
| |
| Change ES6SampleBench into ARES-6 |
| https://bugs.webkit.org/show_bug.cgi?id=167863 |
| |
| Rubber stamped by Saam Barati. |
| |
| This imports changes that Jonathan Davis (jond@apple.com) made to ES6SampleBench to make it look |
| super awesome. Its now called ARES-6. |
| |
| * ARES-6: Copied from PerformanceTests/ES6SampleBench. |
| * ARES-6/ARES-6.svg: Added. |
| * ARES-6/driver.js: |
| (Driver): |
| (Driver.prototype.readyTrigger): |
| (Driver.prototype.disableTrigger): |
| (Driver.prototype.start): |
| (Driver.prototype._updateIterations): |
| * ARES-6/glue.js: |
| * ARES-6/index.html: |
| * ARES-6/results.js: |
| (Results.prototype.reportRunning): |
| (Results.prototype.reportDone): |
| * ARES-6/stats.js: |
| (Stats.prototype.toString.return.span): |
| (Stats.prototype.toString.span.span): |
| (Stats.prototype.toString): Deleted. |
| * ARES-6/style.css: Removed. |
| * ARES-6/styles.css: Added. |
| (html): |
| (body): |
| (header,): |
| (p a): |
| (p a:hover): |
| (.flip): |
| (header): |
| (h2,): |
| (p): |
| (.about h2): |
| (.logo): |
| (.start): |
| (.start.ready): |
| (.start.ready:hover): |
| (.start:after): |
| (.start.ready .testrun): |
| (.tests): |
| (.test): |
| (.overall h2,): |
| (.test .indicator): |
| (.test .indicator.running): |
| (@keyframes test-running): |
| (100%): |
| (.score): |
| (.score label): |
| (.score .value): |
| (.score .units): |
| (.score .margin): |
| (.overall): |
| (.overall .score): |
| (.overall .margin): |
| (.testing, .about): |
| (.testing): |
| (.about): |
| (#about:target): |
| (@media only screen and (max-width: 784px)): |
| * ARES-6/swoop.svg: Added. |
| * ES6SampleBench: Removed. |
| * ES6SampleBench/Air: Removed. |
| * ES6SampleBench/Air/README.md: Removed. |
| * ES6SampleBench/Air/airjs-tests.yaml: Removed. |
| * ES6SampleBench/Air/all.js: Removed. |
| * ES6SampleBench/Air/allocate_stack.js: Removed. |
| * ES6SampleBench/Air/arg.js: Removed. |
| * ES6SampleBench/Air/basic_block.js: Removed. |
| * ES6SampleBench/Air/benchmark.js: Removed. |
| * ES6SampleBench/Air/code.js: Removed. |
| * ES6SampleBench/Air/custom.js: Removed. |
| * ES6SampleBench/Air/frequented_block.js: Removed. |
| * ES6SampleBench/Air/insertion_set.js: Removed. |
| * ES6SampleBench/Air/inst.js: Removed. |
| * ES6SampleBench/Air/liveness.js: Removed. |
| * ES6SampleBench/Air/make_dist.sh: Removed. |
| * ES6SampleBench/Air/opcode.js: Removed. |
| * ES6SampleBench/Air/payload-airjs-ACLj8C.js: Removed. |
| * ES6SampleBench/Air/payload-gbemu-executeIteration.js: Removed. |
| * ES6SampleBench/Air/payload-imaging-gaussian-blur-gaussianBlur.js: Removed. |
| * ES6SampleBench/Air/payload-typescript-scanIdentifier.js: Removed. |
| * ES6SampleBench/Air/reg.js: Removed. |
| * ES6SampleBench/Air/stack_slot.js: Removed. |
| * ES6SampleBench/Air/stress-test.js: Removed. |
| * ES6SampleBench/Air/strip-hash.rb: Removed. |
| * ES6SampleBench/Air/symbols.js: Removed. |
| * ES6SampleBench/Air/test.html: Removed. |
| * ES6SampleBench/Air/test.js: Removed. |
| * ES6SampleBench/Air/tmp.js: Removed. |
| * ES6SampleBench/Air/tmp_base.js: Removed. |
| * ES6SampleBench/Air/util.js: Removed. |
| * ES6SampleBench/Basic: Removed. |
| * ES6SampleBench/Basic/ast.js: Removed. |
| * ES6SampleBench/Basic/basic-tests.yaml: Removed. |
| * ES6SampleBench/Basic/basic.js: Removed. |
| * ES6SampleBench/Basic/benchmark.js: Removed. |
| * ES6SampleBench/Basic/caseless_map.js: Removed. |
| * ES6SampleBench/Basic/lexer.js: Removed. |
| * ES6SampleBench/Basic/number.js: Removed. |
| * ES6SampleBench/Basic/parser.js: Removed. |
| * ES6SampleBench/Basic/random.js: Removed. |
| * ES6SampleBench/Basic/state.js: Removed. |
| * ES6SampleBench/Basic/stress-test.js: Removed. |
| * ES6SampleBench/Basic/test.html: Removed. |
| * ES6SampleBench/Basic/test.js: Removed. |
| * ES6SampleBench/Basic/util.js: Removed. |
| * ES6SampleBench/air_benchmark.js: Removed. |
| * ES6SampleBench/basic_benchmark.js: Removed. |
| * ES6SampleBench/cli.js: Removed. |
| * ES6SampleBench/driver.js: Removed. |
| * ES6SampleBench/glue.js: Removed. |
| * ES6SampleBench/index.html: Removed. |
| * ES6SampleBench/results.js: Removed. |
| * ES6SampleBench/stats.js: Removed. |
| * ES6SampleBench/style.css: Removed. |
| |
| 2017-02-05 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Add performance test with varying string and font-size to minimize width-cache hit. |
| https://bugs.webkit.org/show_bug.cgi?id=167859 |
| <rdar://problem/30368070> |
| |
| Reviewed by Antti Koivisto. |
| |
| This is in preparation for webkit.org/b/167843. |
| |
| * Layout/simple-line-layout-with-varying-content.html: Added. |
| |
| 2017-01-16 Filip Pizlo <fpizlo@apple.com> |
| |
| Add framerate baselines to the splay-detail test |
| https://bugs.webkit.org/show_bug.cgi?id=167659 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * JetStream/Octane2/splay-detail.html: |
| |
| 2017-01-31 Carlos Alberto Lopez Perez <clopez@igalia.com> |
| |
| [EFL][GTK] Skip some IndexedDB tests that time out on the Perf bots. |
| |
| Unreviewed performance test gardening. |
| |
| * Skipped: |
| |
| 2017-01-30 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Small tweaks to improve performance. |
| https://bugs.webkit.org/show_bug.cgi?id=167611 |
| <rdar://problem/30274294> |
| |
| Reviewed by Simon Fraser. |
| |
| * Layout/simple-line-layout-non-repeating-text.html: Added. |
| |
| 2017-01-13 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| 26 MotionMark performance tests failing |
| https://bugs.webkit.org/show_bug.cgi?id=166854 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Skip running MotionMark on WebKit perf bots. |
| |
| * Skipped: |
| |
| 2017-01-06 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Rename the directory and the files of MotionMark from Animometer to MotionMark |
| https://bugs.webkit.org/show_bug.cgi?id=166659 |
| |
| Reviewed by Jon Lee. |
| |
| Rename the directory and the files of the benchmark to its new name. |
| |
| * MotionMark/developer.html: Renamed from PerformanceTests/Animometer/developer.html. |
| * MotionMark/index.html: Renamed from PerformanceTests/Animometer/index.html. |
| * MotionMark/resources/debug-runner/d3.min.js: Renamed from PerformanceTests/Animometer/resources/debug-runner/d3.min.js. |
| * MotionMark/resources/debug-runner/graph.js: Renamed from PerformanceTests/Animometer/resources/debug-runner/graph.js. |
| * MotionMark/resources/debug-runner/motionmark.css: Renamed from PerformanceTests/Animometer/resources/debug-runner/animometer.css. |
| * MotionMark/resources/debug-runner/motionmark.js: Renamed from PerformanceTests/Animometer/resources/debug-runner/animometer.js. |
| * MotionMark/resources/debug-runner/tests.js: Renamed from PerformanceTests/Animometer/resources/debug-runner/tests.js. |
| * MotionMark/resources/extensions.js: Renamed from PerformanceTests/Animometer/resources/extensions.js. |
| * MotionMark/resources/runner/benchmark-runner.js: Renamed from PerformanceTests/Animometer/resources/runner/benchmark-runner.js. |
| * MotionMark/resources/runner/crystal.svg: Renamed from PerformanceTests/Animometer/resources/runner/crystal.svg. |
| * MotionMark/resources/runner/lines.svg: Renamed from PerformanceTests/Animometer/resources/runner/lines.svg. |
| * MotionMark/resources/runner/logo.svg: Renamed from PerformanceTests/Animometer/resources/runner/logo.svg. |
| * MotionMark/resources/runner/motionmark.css: Renamed from PerformanceTests/Animometer/resources/runner/animometer.css. |
| * MotionMark/resources/runner/motionmark.js: Renamed from PerformanceTests/Animometer/resources/runner/animometer.js. |
| * MotionMark/resources/runner/tests.js: Renamed from PerformanceTests/Animometer/resources/runner/tests.js. |
| * MotionMark/resources/statistics.js: Renamed from PerformanceTests/Animometer/resources/statistics.js. |
| * MotionMark/resources/strings.js: Renamed from PerformanceTests/Animometer/resources/strings.js. |
| * MotionMark/tests/3d/resources/webgl.js: Renamed from PerformanceTests/Animometer/tests/3d/resources/webgl.js. |
| * MotionMark/tests/3d/webgl.html: Renamed from PerformanceTests/Animometer/tests/3d/webgl.html. |
| * MotionMark/tests/bouncing-particles/bouncing-canvas-images.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-canvas-images.html. |
| * MotionMark/tests/bouncing-particles/bouncing-canvas-shapes.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html. |
| * MotionMark/tests/bouncing-particles/bouncing-css-images.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-css-images.html. |
| * MotionMark/tests/bouncing-particles/bouncing-css-shapes.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-css-shapes.html. |
| * MotionMark/tests/bouncing-particles/bouncing-svg-images.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-svg-images.html. |
| * MotionMark/tests/bouncing-particles/bouncing-svg-shapes.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-svg-shapes.html. |
| * MotionMark/tests/bouncing-particles/bouncing-tagged-images.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-tagged-images.html. |
| * MotionMark/tests/bouncing-particles/resources/bouncing-canvas-images.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js. |
| * MotionMark/tests/bouncing-particles/resources/bouncing-canvas-particles.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js. |
| * MotionMark/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js. |
| * MotionMark/tests/bouncing-particles/resources/bouncing-css-images.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-css-images.js. |
| * MotionMark/tests/bouncing-particles/resources/bouncing-css-shapes.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js. |
| * MotionMark/tests/bouncing-particles/resources/bouncing-svg-images.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js. |
| * MotionMark/tests/bouncing-particles/resources/bouncing-svg-particles.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-svg-particles.js. |
| * MotionMark/tests/bouncing-particles/resources/bouncing-svg-shapes.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js. |
| * MotionMark/tests/bouncing-particles/resources/bouncing-tagged-images.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-tagged-images.js. |
| * MotionMark/tests/bouncing-particles/resources/image1.jpg: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/image1.jpg. |
| * MotionMark/tests/bouncing-particles/resources/image2.jpg: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/image2.jpg. |
| * MotionMark/tests/bouncing-particles/resources/image3.jpg: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/image3.jpg. |
| * MotionMark/tests/bouncing-particles/resources/image4.jpg: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/image4.jpg. |
| * MotionMark/tests/bouncing-particles/resources/image5.jpg: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/image5.jpg. |
| * MotionMark/tests/dom/compositing-transforms.html: Renamed from PerformanceTests/Animometer/tests/dom/compositing-transforms.html. |
| * MotionMark/tests/dom/focus.html: Renamed from PerformanceTests/Animometer/tests/dom/focus.html. |
| * MotionMark/tests/dom/leaves.html: Renamed from PerformanceTests/Animometer/tests/dom/leaves.html. |
| * MotionMark/tests/dom/particles.html: Renamed from PerformanceTests/Animometer/tests/dom/particles.html. |
| * MotionMark/tests/dom/resources/compositing-transforms.js: Renamed from PerformanceTests/Animometer/tests/dom/resources/compositing-transforms.js. |
| * MotionMark/tests/dom/resources/dom-particles.js: Renamed from PerformanceTests/Animometer/tests/dom/resources/dom-particles.js. |
| * MotionMark/tests/dom/resources/focus.js: Renamed from PerformanceTests/Animometer/tests/dom/resources/focus.js. |
| * MotionMark/tests/dom/resources/leaves.js: Renamed from PerformanceTests/Animometer/tests/dom/resources/leaves.js. |
| * MotionMark/tests/master/canvas-stage.html: Renamed from PerformanceTests/Animometer/tests/master/canvas-stage.html. |
| * MotionMark/tests/master/focus.html: Renamed from PerformanceTests/Animometer/tests/master/focus.html. |
| * MotionMark/tests/master/image-data.html: Renamed from PerformanceTests/Animometer/tests/master/image-data.html. |
| * MotionMark/tests/master/leaves.html: Renamed from PerformanceTests/Animometer/tests/master/leaves.html. |
| * MotionMark/tests/master/multiply.html: Renamed from PerformanceTests/Animometer/tests/master/multiply.html. |
| * MotionMark/tests/master/resources/canvas-stage.js: Renamed from PerformanceTests/Animometer/tests/master/resources/canvas-stage.js. |
| * MotionMark/tests/master/resources/canvas-tests.js: Renamed from PerformanceTests/Animometer/tests/master/resources/canvas-tests.js. |
| * MotionMark/tests/master/resources/compass.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/compass.svg. |
| * MotionMark/tests/master/resources/compass100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/compass100.png. |
| * MotionMark/tests/master/resources/console.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/console.svg. |
| * MotionMark/tests/master/resources/console100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/console100.png. |
| * MotionMark/tests/master/resources/contribute.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/contribute.svg. |
| * MotionMark/tests/master/resources/contribute100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/contribute100.png. |
| * MotionMark/tests/master/resources/debugger.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/debugger.svg. |
| * MotionMark/tests/master/resources/debugger100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/debugger100.png. |
| * MotionMark/tests/master/resources/focus.js: Renamed from PerformanceTests/Animometer/tests/master/resources/focus.js. |
| * MotionMark/tests/master/resources/image-data.js: Renamed from PerformanceTests/Animometer/tests/master/resources/image-data.js. |
| * MotionMark/tests/master/resources/inspector.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/inspector.svg. |
| * MotionMark/tests/master/resources/inspector100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/inspector100.png. |
| * MotionMark/tests/master/resources/layout.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/layout.svg. |
| * MotionMark/tests/master/resources/layout100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/layout100.png. |
| * MotionMark/tests/master/resources/leaves.js: Renamed from PerformanceTests/Animometer/tests/master/resources/leaves.js. |
| * MotionMark/tests/master/resources/multiply.js: Renamed from PerformanceTests/Animometer/tests/master/resources/multiply.js. |
| * MotionMark/tests/master/resources/particles.js: Renamed from PerformanceTests/Animometer/tests/master/resources/particles.js. |
| * MotionMark/tests/master/resources/performance.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/performance.svg. |
| * MotionMark/tests/master/resources/performance100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/performance100.png. |
| * MotionMark/tests/master/resources/script.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/script.svg. |
| * MotionMark/tests/master/resources/script100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/script100.png. |
| * MotionMark/tests/master/resources/shortcuts.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/shortcuts.svg. |
| * MotionMark/tests/master/resources/shortcuts100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/shortcuts100.png. |
| * MotionMark/tests/master/resources/standards.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/standards.svg. |
| * MotionMark/tests/master/resources/standards100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/standards100.png. |
| * MotionMark/tests/master/resources/storage.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/storage.svg. |
| * MotionMark/tests/master/resources/storage100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/storage100.png. |
| * MotionMark/tests/master/resources/styles.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/styles.svg. |
| * MotionMark/tests/master/resources/styles100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/styles100.png. |
| * MotionMark/tests/master/resources/svg-particles.js: Renamed from PerformanceTests/Animometer/tests/master/resources/svg-particles.js. |
| * MotionMark/tests/master/resources/text.js: Renamed from PerformanceTests/Animometer/tests/master/resources/text.js. |
| * MotionMark/tests/master/resources/timeline.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/timeline.svg. |
| * MotionMark/tests/master/resources/timeline100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/timeline100.png. |
| * MotionMark/tests/master/svg-particles.html: Renamed from PerformanceTests/Animometer/tests/master/svg-particles.html. |
| * MotionMark/tests/master/text.html: Renamed from PerformanceTests/Animometer/tests/master/text.html. |
| * MotionMark/tests/resources/main.js: Renamed from PerformanceTests/Animometer/tests/resources/main.js. |
| * MotionMark/tests/resources/math.js: Renamed from PerformanceTests/Animometer/tests/resources/math.js. |
| * MotionMark/tests/resources/stage.css: Renamed from PerformanceTests/Animometer/tests/resources/stage.css. |
| * MotionMark/tests/resources/star.svg: Renamed from PerformanceTests/Animometer/tests/resources/star.svg. |
| * MotionMark/tests/resources/yin-yang.png: Renamed from PerformanceTests/Animometer/tests/resources/yin-yang.png. |
| * MotionMark/tests/resources/yin-yang.svg: Renamed from PerformanceTests/Animometer/tests/resources/yin-yang.svg. |
| * MotionMark/tests/simple/resources/simple-canvas-paths.js: Renamed from PerformanceTests/Animometer/tests/simple/resources/simple-canvas-paths.js. |
| * MotionMark/tests/simple/resources/simple-canvas.js: Renamed from PerformanceTests/Animometer/tests/simple/resources/simple-canvas.js. |
| * MotionMark/tests/simple/resources/tiled-canvas-image.js: Renamed from PerformanceTests/Animometer/tests/simple/resources/tiled-canvas-image.js. |
| * MotionMark/tests/simple/simple-canvas-paths.html: Renamed from PerformanceTests/Animometer/tests/simple/simple-canvas-paths.html. |
| * MotionMark/tests/simple/tiled-canvas-image.html: Renamed from PerformanceTests/Animometer/tests/simple/tiled-canvas-image.html. |
| * MotionMark/tests/template/resources/template-canvas.js: Renamed from PerformanceTests/Animometer/tests/template/resources/template-canvas.js. |
| * MotionMark/tests/template/resources/template-css.js: Renamed from PerformanceTests/Animometer/tests/template/resources/template-css.js. |
| * MotionMark/tests/template/resources/template-svg.js: Renamed from PerformanceTests/Animometer/tests/template/resources/template-svg.js. |
| * MotionMark/tests/template/template-canvas.html: Renamed from PerformanceTests/Animometer/tests/template/template-canvas.html. |
| * MotionMark/tests/template/template-css.html: Renamed from PerformanceTests/Animometer/tests/template/template-css.html. |
| * MotionMark/tests/template/template-svg.html: Renamed from PerformanceTests/Animometer/tests/template/template-svg.html. |
| |
| 2016-12-13 Brady Eidson <beidson@apple.com> |
| |
| Add a PerfTest targeting IDBObjectStore.get(). |
| https://bugs.webkit.org/show_bug.cgi?id=165816 |
| |
| Reviewed by Alex Christensen. |
| |
| * IndexedDB/objectstore-get.html: Added. |
| |
| 2016-12-13 Brady Eidson <beidson@apple.com> |
| |
| Add a PerfTest targeting IDBIndex.get(). |
| https://bugs.webkit.org/show_bug.cgi?id=165803 |
| |
| Reviewed by Alex Christensen. |
| |
| * IndexedDB/index-get.html: Added. |
| |
| 2016-12-12 Brady Eidson <beidson@apple.com> |
| |
| More IndexedDB perf tests. |
| https://bugs.webkit.org/show_bug.cgi?id=165634 |
| |
| Reviewed by Sam Weinig. |
| |
| * IndexedDB/index-multientry.html: |
| * IndexedDB/large-number-of-inserts-responsiveness.html: Added. |
| * IndexedDB/large-number-of-inserts.html: Added. |
| * IndexedDB/objectstore-cursor.html: Added. Runtime cut in 1/4th compared to r209672. |
| |
| * resources/runner.js: |
| |
| 2016-12-12 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r209672. |
| https://bugs.webkit.org/show_bug.cgi?id=165766 |
| |
| IndexedDB/objectstore-cursor.html perf test always times out |
| (Requested by ap on #webkit). |
| |
| Reverted changeset: |
| |
| "More IndexedDB perf tests." |
| https://bugs.webkit.org/show_bug.cgi?id=165634 |
| http://trac.webkit.org/changeset/209672 |
| |
| 2016-12-10 Brady Eidson <beidson@apple.com> |
| |
| More IndexedDB perf tests. |
| https://bugs.webkit.org/show_bug.cgi?id=165634 |
| |
| Reviewed by Sam Weinig. |
| |
| * IndexedDB/index-multientry.html: |
| * IndexedDB/large-number-of-inserts-responsiveness.html: Added. |
| * IndexedDB/large-number-of-inserts.html: Added. |
| * IndexedDB/objectstore-cursor.html: Added. |
| |
| * resources/runner.js: Add "track responsiveness" functionality to PerfTestRunner. |
| |
| 2016-12-06 Filip Pizlo <fpizlo@apple.com> |
| |
| Concurrent GC should be stable enough to land enabled |
| https://bugs.webkit.org/show_bug.cgi?id=164990 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Made CDjs more configurable and refined the "large.js" configuration. I was using that one and |
| the new "long.js" configuration to tune concurrent eden GCs. |
| |
| Added a new way of running Splay in browser, which using chartjs to plot the execution times of |
| 2000 iterations. This includes the minified chartjs. |
| |
| * JetStream/Octane2/splay-detail.html: Added. |
| * JetStream/cdjs/benchmark.js: |
| (benchmarkImpl): |
| (benchmark): |
| * JetStream/cdjs/long.js: Added. |
| |
| 2016-12-07 Brady Eidson <beidson@apple.com> |
| |
| Add IDB perf tests stressing key size. |
| https://bugs.webkit.org/show_bug.cgi?id=165567 |
| |
| Reviewed by Alex Christensen. |
| |
| * IndexedDB/large-array-keys.html: Added. |
| * IndexedDB/large-binary-keys.html: Added. |
| * IndexedDB/large-string-keys.html: Added. |
| |
| 2016-12-05 Brady Eidson <beidson@apple.com> |
| |
| Add an IndexedDB perf test to PerformanceTests. |
| https://bugs.webkit.org/show_bug.cgi?id=165430 |
| |
| Reviewed by Alex Christensen. |
| |
| * IndexedDB/index-multientry.html: Added. |
| |
| 2016-12-02 Filip Pizlo <fpizlo@apple.com> |
| |
| ES6SampleBench should report an average for Steady State so that all of the numbers are comparable |
| https://bugs.webkit.org/show_bug.cgi?id=165325 |
| |
| Reviewed by Saam Barati. |
| |
| This makes all of the numbers that ES6SampleBench reports comparable to each other: they all speak of the time |
| it took to run an iteration of something. |
| |
| * ES6SampleBench/results.js: |
| (Results.prototype.reportResult): |
| |
| 2016-11-18 Jer Noble <jer.noble@apple.com> |
| |
| Add some performance tests for various aspects of media loading and playback. |
| https://bugs.webkit.org/show_bug.cgi?id=164977 |
| |
| Reviewed by Darin Adler. |
| |
| Add new tests for a few aspects of media playback; namely: how quickly media elements fire |
| the "canplaythrough" event when all data is immediately available, how quickly HLS playback |
| switches resolutions, and at what playback rate MSE-backed video can play without dropping |
| frames. Skip these tests by default, as they're not runnable on all ports, and they require |
| a webserver (run-webkit-httpd) to complete on macOS. |
| |
| * Media/HLSCanPlayThrough.html: Added. |
| * Media/HLSGearChange.html: Added. |
| * Media/MSECanPlayThrough.html: Added. |
| * Media/MSEPlaybackRate.html: Added. |
| * Media/StandardCanPlayThrough.html: Added. |
| * Media/hls/1080p/iframe_index.m3u8: Added. |
| * Media/hls/1080p/prog_index.m3u8: Added. |
| * Media/hls/1080p/test.ts: Added. |
| * Media/hls/480p/iframe_index.m3u8: Added. |
| * Media/hls/480p/prog_index.m3u8: Added. |
| * Media/hls/480p/test.ts: Added. |
| * Media/hls/720p/iframe_index.m3u8: Added. |
| * Media/hls/720p/prog_index.m3u8: Added. |
| * Media/hls/720p/test.ts: Added. |
| * Media/hls/720p/test.ts.back: Added. |
| * Media/hls/index.m3u8: Added. |
| * Media/media-source-loader.js: Added. |
| (MediaSourceLoader): |
| (MediaSourceLoader.prototype.loadManifest): |
| (MediaSourceLoader.prototype.loadManifestSucceeded): |
| (MediaSourceLoader.prototype.loadManifestFailed): |
| (MediaSourceLoader.prototype.loadMediaData): |
| (MediaSourceLoader.prototype.loadMediaDataSucceeded): |
| (MediaSourceLoader.prototype.loadMediaDataFailed): |
| (MediaSourceLoader.prototype.get type): |
| (MediaSourceLoader.prototype.get duration): |
| (MediaSourceLoader.prototype.get initSegment): |
| (MediaSourceLoader.prototype.get mediaSegmentsLength): |
| (MediaSourceLoader.prototype.mediaSegments): |
| (MediaSourceLoader.prototype.get everyMediaSegment): |
| * Media/test-fragmented-video.json: Added. |
| * Media/test-fragmented-video.mp4: Added. |
| * Media/test.mp4: Added. |
| * Skipped: |
| |
| 2016-11-18 Filip Pizlo <fpizlo@apple.com> |
| |
| Concurrent GC should be able to run splay in debug mode and earley/raytrace in release mode with no perf regression |
| https://bugs.webkit.org/show_bug.cgi?id=164282 |
| |
| Reviewed by Geoffrey Garen and Oliver Hunt. |
| |
| CDjs is a fun benchmark for stressing concurrent GCs, but to really give the GC a good |
| workout you need to increase the amount of work that the test does. This adds a second |
| configuration of the benchmark that has more aircraft. It uses much more memory and causes us |
| to do more GCs and those GCs take longer. |
| |
| * JetStream/cdjs/benchmark.js: |
| (benchmarkImpl): |
| (benchmark): |
| * JetStream/cdjs/large.js: Added. |
| |
| 2016-11-14 Filip Pizlo <fpizlo@apple.com> |
| |
| Unreviewed, revert unintended change. |
| |
| * ES6SampleBench/Air/benchmark.js: |
| |
| 2016-10-03 Saam Barati <sbarati@apple.com> |
| |
| MapHash should speculate on the type of its child node |
| https://bugs.webkit.org/show_bug.cgi?id=161922 |
| |
| Reviewed by Filip Pizlo. |
| |
| I gave the main generator a name so it's easier to see what |
| it is when using the sampling profiler. |
| |
| * ES6SampleBench/Basic/ast.js: |
| (Basic.Program): |
| |
| 2016-09-19 Sergio Villar Senin <svillar@igalia.com> |
| |
| [css-grid] Remove the x2 computation of row sizes with indefinite heights |
| https://bugs.webkit.org/show_bug.cgi?id=162150 |
| |
| Reviewed by Darin Adler. |
| |
| Added a new test case which checks the layout performance of grids inside other grids, i.e, |
| grids acting both as grid container and grid item. |
| |
| * Layout/nested-grid.html: Added. |
| |
| 2016-09-09 Simon Fraser <simon.fraser@apple.com> |
| |
| Perf test Animation/css-accelerated-animation.html failing |
| https://bugs.webkit.org/show_bug.cgi?id=161795 |
| |
| Skip Animation/css-accelerated-animation.html since this only works as a MobileSafari |
| perf test. |
| |
| * Skipped: |
| |
| 2016-09-08 Simon Fraser <simon.fraser@apple.com> |
| |
| Add a content-animation test with accelerated CSS animations |
| https://bugs.webkit.org/show_bug.cgi?id=161776 |
| |
| Reviewed by Dean Jackson. |
| |
| Add a test that measures the frame rate of accelerated CSS animations. |
| |
| This is like css-animation.html (which animates 'left' and 'top') but animates |
| transforms instead. In order to get animation in X and Y we make two nested elements |
| and set transformX() on one, and transformY() on the other. |
| |
| * Animation/css-accelerated-animation.html: Added. |
| |
| 2016-08-23 Saam Barati <sbarati@apple.com> |
| |
| It should be easy to run ES6SampleBench from the jsc shell |
| https://bugs.webkit.org/show_bug.cgi?id=161085 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| This patch makes ES6 sample bench runnable through the `jsc` shell. |
| To do that, you need to be in the PerformanceTests/ES6SampleBench |
| directory and run `jsc cli.js`. To make this work, the benchmark |
| is now aware of being run in two modes: via the browser, and via |
| the shell. Each entry point will set a variable `isInBrowser`, |
| and the benchmark will do different things based on if that |
| variable is true or false. |
| |
| * ES6SampleBench/Air/benchmark.js: |
| * ES6SampleBench/Air/stress-test.js: |
| * ES6SampleBench/Basic/benchmark.js: |
| (runBenchmark): |
| * ES6SampleBench/Basic/stress-test.js: |
| * ES6SampleBench/air_benchmark.js: |
| * ES6SampleBench/basic_benchmark.js: |
| * ES6SampleBench/cli.js: Added. |
| (return.doRun): |
| (makeBenchmarkRunner): |
| * ES6SampleBench/driver.js: |
| (Driver): |
| (Driver.prototype._recomputeSummary): |
| (Driver.prototype._iterate.window.setTimeout): |
| (Driver.prototype._iterate): |
| (Driver.prototype._updateIterations): |
| * ES6SampleBench/glue.js: |
| (reportResult): |
| * ES6SampleBench/index.html: |
| * ES6SampleBench/results.js: |
| (Results): |
| (Results.prototype.reportRunning): |
| (Results.prototype.reportDone): |
| (Results.prototype.reportError): |
| * ES6SampleBench/stats.js: |
| (Stats): |
| (Stats.prototype.toString): |
| (Stats.prototype._update): |
| |
| 2016-08-01 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Add an option to run the MotionMark tests with classic tile size (512x512) |
| https://bugs.webkit.org/show_bug.cgi?id=160371 |
| |
| Reviewed by Darin Adler. |
| |
| Setting the body to large size (3000x3000) and overflow to scroll forces |
| the classic tile size (512x512). This option does not affect the canvas |
| tests because the canvas is displayed on one tile regardless of its size. |
| |
| * Animometer/developer.html: |
| * Animometer/resources/debug-runner/animometer.css: |
| (body.showing-test-container.tiles-big): |
| (body.showing-test-container.tiles-classic): |
| * Animometer/resources/debug-runner/animometer.js: |
| * Animometer/resources/runner/animometer.js: |
| (window.benchmarkController.startBenchmark): |
| |
| 2016-06-29 Filip Pizlo <fpizlo@apple.com> |
| |
| Generators violate bytecode liveness validation |
| https://bugs.webkit.org/show_bug.cgi?id=159279 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Add Basic to our test harness. |
| |
| Also made some cosmetic changes to the benchmark harness. |
| |
| * ES6SampleBench/Basic/basic-tests.yaml: Added. |
| * ES6SampleBench/Basic/stress-test.js: Added. |
| (preciseTime): |
| * ES6SampleBench/driver.js: |
| (Driver): |
| (Driver.prototype.start): |
| (Driver.prototype.reportError): |
| * ES6SampleBench/glue.js: |
| * ES6SampleBench/index.html: |
| |
| 2016-06-28 Filip Pizlo <fpizlo@apple.com> |
| |
| ES6SampleBench should have a harness |
| https://bugs.webkit.org/show_bug.cgi?id=159246 |
| |
| Reviewed by Saam Barati. |
| |
| This adds a simple web harness for ES6SampleBench. It runs Air and Basic 10 times for 200 |
| iterations each and reports three metrics: |
| |
| First iteration: the time it takes for the first iteration to run. This is the first |
| iteration after the benchmark is loaded into the iframe, so it's representative of what |
| would happen if one of these workloads only ran for a short time. |
| |
| Worst 2%: of the last 199 iterations, the average of the worst 2% iterations. If code like |
| any of these workloads was used in an important event handler, you'd want that code to run |
| well in the worst case in addition to having great throughput. |
| |
| Steady state: the total of the last 199 iterations. This is representative of what would |
| happen if you ran code like this for a long time. |
| |
| The total score is the geomean of the firstIteration/worstCase/steadyState numbers of the |
| two benchmarks. |
| |
| The harness does statistics using Student's T-distribution confidence intervals. |
| |
| * ES6SampleBench/Basic/benchmark.js: |
| (Benchmark): |
| * ES6SampleBench/air_benchmark.js: Added. |
| * ES6SampleBench/basic_benchmark.js: Added. |
| * ES6SampleBench/driver.js: Added. |
| (Driver): |
| (Driver.prototype.addBenchmark): |
| (Driver.prototype.start): |
| (Driver.prototype.reportResult): |
| (Driver.prototype.reportError): |
| (Driver.prototype._recomputeSummary.Geomean): |
| (Driver.prototype._recomputeSummary.Geomean.prototype.add): |
| (Driver.prototype._recomputeSummary.Geomean.prototype.get result): |
| (Driver.prototype._recomputeSummary): |
| (Driver.prototype._iterate): |
| (Driver.prototype._updateIterations): |
| * ES6SampleBench/glue.js: Added. |
| * ES6SampleBench/index.html: Added. |
| * ES6SampleBench/results.js: Added. |
| (Results): |
| (Results.prototype.get benchmark): |
| (Results.prototype.reset): |
| (Results.prototype.reportRunning): |
| (Results.prototype.reportDone): |
| (Results.prototype.reportResult.averageAbovePercentile): |
| (Results.prototype.reportResult): |
| (Results.prototype.reportError): |
| * ES6SampleBench/stats.js: Added. |
| (Stats): |
| (Stats.prototype.reset): |
| (Stats.prototype.add): |
| (Stats.prototype.get numIterations): |
| (Stats.prototype.valueForIteration): |
| (Stats.get result.tDist): |
| (Stats.prototype.get result): |
| (Stats.prototype.toString): |
| (Stats.prototype._update): |
| * ES6SampleBench/style.css: Added. |
| (body): |
| (body, th, tr): |
| (h1, h2, h3, h4): |
| (h1): |
| (h2): |
| (h3): |
| (hr): |
| (address): |
| (img): |
| (.underline): |
| (ol.loweralpha): |
| (ol.upperalpha): |
| (ol.lowerroman): |
| (ol.upperroman): |
| (ol.arabic): |
| (.banner-link:link, .banner-link:visited): |
| (:link, :visited): |
| (h4 :link, h4 :visited, h5 :link, h5 :visited, h6 :link, h6 :visited): |
| (.anchor:link, .anchor:visited): |
| (* > .anchor:link, * > .anchor:visited): |
| (span:hover .anchor): |
| (a.forbidden, span.forbidden): |
| (a.missing:hover): |
| (a.closed:link, a.closed:visited, span.closed): |
| (pre): |
| (div.code): |
| (div.code pre): |
| (dt): |
| (dd): |
| (dd:last-child): |
| (.site-logo): |
| (.site-logo .tagline): |
| (table): |
| (#contents): |
| (p): |
| (p:last-child): |
| (th): |
| (td): |
| |
| 2016-06-28 Jon Lee <jonlee@apple.com> |
| |
| Update focus test |
| https://bugs.webkit.org/show_bug.cgi?id=159242 |
| rdar://problem/27070007 |
| |
| Reviewed by Dean Jackson. |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| Move previous test to dom suite, and update the test for better reporting of frame rate, although |
| it uses a different rendering path. |
| |
| * Animometer/resources/debug-runner/tests.js: Add to dom suite. |
| * Animometer/tests/dom/focus.html: Copied from PerformanceTests/Animometer/tests/master/focus.html. |
| * Animometer/tests/dom/resources/focus.js: Copied from PerformanceTests/Animometer/tests/master/resources/focus.js. |
| * Animometer/tests/master/focus.html: Remove center element. |
| * Animometer/tests/master/resources/focus.js: Use narrower size range with smaller particles. Remove the |
| container elements. Inline getBlurValue and getOpacityValue since they are only called once. |
| |
| 2016-06-28 Filip Pizlo <fpizlo@apple.com> |
| |
| Move Air.js and Basic into ES6SampleBench |
| |
| Rubber stamped by Geoffrey Garen. |
| |
| We want to group our ES6 benchmarks together, and eventually, we want to give them a |
| common harness. |
| |
| * Air.js: Removed. |
| * Air.js/README.md: Removed. |
| * Air.js/airjs-tests.yaml: Removed. |
| * Air.js/all.js: Removed. |
| * Air.js/allocate_stack.js: Removed. |
| * Air.js/arg.js: Removed. |
| * Air.js/basic_block.js: Removed. |
| * Air.js/benchmark.js: Removed. |
| * Air.js/code.js: Removed. |
| * Air.js/custom.js: Removed. |
| * Air.js/frequented_block.js: Removed. |
| * Air.js/insertion_set.js: Removed. |
| * Air.js/inst.js: Removed. |
| * Air.js/liveness.js: Removed. |
| * Air.js/make_dist.sh: Removed. |
| * Air.js/opcode.js: Removed. |
| * Air.js/payload-airjs-ACLj8C.js: Removed. |
| * Air.js/payload-gbemu-executeIteration.js: Removed. |
| * Air.js/payload-imaging-gaussian-blur-gaussianBlur.js: Removed. |
| * Air.js/payload-typescript-scanIdentifier.js: Removed. |
| * Air.js/reg.js: Removed. |
| * Air.js/stack_slot.js: Removed. |
| * Air.js/stress-test.js: Removed. |
| * Air.js/strip-hash.rb: Removed. |
| * Air.js/symbols.js: Removed. |
| * Air.js/test.html: Removed. |
| * Air.js/test.js: Removed. |
| * Air.js/tmp.js: Removed. |
| * Air.js/tmp_base.js: Removed. |
| * Air.js/util.js: Removed. |
| * Basic: Removed. |
| * Basic/ast.js: Removed. |
| * Basic/basic.js: Removed. |
| * Basic/benchmark.js: Removed. |
| * Basic/caseless_map.js: Removed. |
| * Basic/lexer.js: Removed. |
| * Basic/number.js: Removed. |
| * Basic/parser.js: Removed. |
| * Basic/random.js: Removed. |
| * Basic/state.js: Removed. |
| * Basic/test.html: Removed. |
| * Basic/test.js: Removed. |
| * Basic/util.js: Removed. |
| * ES6SampleBench: Added. |
| * ES6SampleBench/Air: Copied from PerformanceTests/Air.js. |
| * ES6SampleBench/Basic: Copied from PerformanceTests/Basic. |
| * Skipped: |
| |
| 2016-06-24 Filip Pizlo <fpizlo@apple.com> |
| |
| Add a ES6 generator benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=159101 |
| |
| Rubber stamped by Keith Miller. |
| |
| This adds a Basic interpreter loosely based on ECMA-55: |
| |
| http://www.ecma-international.org/publications/files/ECMA-ST-WITHDRAWN/ECMA-55,%201st%20Edition,%20January%201978.pdf |
| |
| It includes a lexer that is a generator, a parser that uses regular expressions, and an AST |
| walk interpreter where the walking functions for statements are generators that call each |
| other with yield*. This enables the interpreter to look like an AST walk even though it can |
| yield at INPUT and PRINT statements. |
| |
| This also uses for-of, classes, Map, and WeakMap. It also uses deprecated-but-awesome RegExp |
| features like RegExp.lastMatch and RegExp.rightContext. I did it that way because this is |
| how I've always written lexers in dynamic languages; see offlineasm's lex() method in |
| parser.rb for example. |
| |
| The benchmark runs a handful of simple Basic programs. The longest-running one computes |
| prime numbers. |
| |
| Includes a command-line and web harness. On my machine it runs in 2-3 seconds. |
| |
| * Basic: Added. |
| * Basic/ast.js: Added. |
| (Basic.NumberApply): |
| (Basic.Variable): |
| (Basic.Const): |
| (Basic.NumberPow): |
| (Basic.NumberMul): |
| (Basic.NumberDiv): |
| (Basic.NumberNeg): |
| (Basic.NumberAdd): |
| (Basic.NumberSub): |
| (Basic.StringVar): |
| (Basic.Equals): |
| (Basic.NotEquals): |
| (Basic.LessThan): |
| (Basic.GreaterThan): |
| (Basic.LessEqual): |
| (Basic.GreaterEqual): |
| (Basic.GoTo): |
| (Basic.GoSub): |
| (Basic.Def): |
| (Basic.Let): |
| (Basic.If): |
| (Basic.Return): |
| (Basic.Stop): |
| (Basic.On): |
| (sideState.shouldStop): |
| (Basic.For): |
| (Basic.Next): |
| (Basic.Print): |
| (Basic.Input): |
| (Basic.Read): |
| (Basic.Restore): |
| (Basic.Dim): |
| (Basic.Randomize): |
| (Basic.End): |
| (Basic.Program): |
| * Basic/basic.js: Added. |
| (prepare): |
| (simulate): |
| * Basic/benchmark.js: Added. |
| (Benchmark): |
| (Benchmark.prototype.runIteration.expect): |
| (Benchmark.prototype.runIteration): |
| (runBenchmark): |
| * Basic/caseless_map.js: Added. |
| (CaselessMap): |
| * Basic/lexer.js: Added. |
| (lex.consumeWhitespace): |
| (lex.consume): |
| (lex): |
| * Basic/lexer_test.js: Added. |
| * Basic/number.js: Added. |
| (NumberValue): |
| (NumberValue.prototype.get value): |
| (NumberValue.prototype.apply): |
| (NumberValue.prototype.leftApply): |
| (NumberValue.prototype.assign): |
| (NumberArray.): |
| (NumberArray): |
| (NumberArray.prototype.apply): |
| (NumberArray.prototype.leftApply): |
| (NumberFunction): |
| (NumberFunction.prototype.apply): |
| (NumberFunction.prototype.leftApply): |
| (NativeFunction): |
| (NativeFunction.prototype.apply): |
| (NativeFunction.prototype.leftApply): |
| * Basic/parser.js: Added. |
| (parse): |
| (parse.pushToken): |
| (parse.peekToken): |
| (parse.consumeKind): |
| (parse.consumeToken): |
| (parse.parseVariable): |
| (parse.parseNumericExpression.parsePrimary): |
| (parse.parseNumericExpression.parseFactor): |
| (parse.parseNumericExpression.parseTerm): |
| (parse.parseNumericExpression): |
| (parse.parseConstant): |
| (parse.parseStringExpression): |
| (parse.isStringExpression): |
| (parse.parseRelationalExpression): |
| (parse.parseNonNegativeInteger): |
| (parse.parseGoToStatement): |
| (parse.parseGoSubStatement): |
| (parse.parseStatement): |
| (parse.parseStatements): |
| * Basic/random.js: Added. |
| (createRNG): |
| (createRNGWithFixedSeed): |
| (createRNGWithRandomSeed): |
| * Basic/state.js: Added. |
| (State): |
| (State.prototype.getValue): |
| (State.prototype.getSideState): |
| (State.prototype.abort): |
| (State.prototype.validate): |
| * Basic/test.html: Added. |
| * Basic/test.js: Added. |
| * Basic/util.js: Added. |
| (this.performance.performance.now.currentTime): |
| (else.this.preciseTime.currentTime): |
| (else.currentTime): |
| * Skipped: Make sure that we don't run Basic yet. |
| |
| 2016-06-21 Jon Lee <jonlee@apple.com> |
| |
| Update canvas size when benchmark begins |
| https://bugs.webkit.org/show_bug.cgi?id=159010 |
| |
| Reviewed by Dean Jackson. |
| |
| Previously we would evaluate the media queries and assign the canvas size to the test |
| on body.onload. Instead, do it once the user starts the benchmark. |
| |
| * Animometer/resources/debug-runner/animometer.js: Move benchmarkController.determineCanvasSize() |
| to benchmarkController._startBenchmark. |
| * Animometer/resources/runner/animometer.js: Ditto. |
| |
| 2016-06-21 Jon Lee <jonlee@apple.com> |
| |
| Add new timestamp option |
| https://bugs.webkit.org/show_bug.cgi?id=159006 |
| |
| Reviewed by Dean Jackson. |
| |
| Add a new option to take timestamps from the rAF callback. |
| |
| * Animometer/developer.html: Added option. |
| * Animometer/tests/resources/main.js: |
| (Benchmark): Fall back to using the rAF timestamp if performance.now() |
| is not available. |
| (Benchmark._animateLoop): Update how timestamp is set. Prefer to use |
| local var instead of accessing private var. |
| |
| 2016-06-21 Jon Lee <jonlee@apple.com> |
| |
| Improvements to Animometer benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=157738 |
| |
| Reviewed by Dean Jackson. |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| Update tests. |
| |
| * Animometer/tests/master/text.html: Ensure only three text sizes for |
| the three canvases. |
| * Animometer/tests/master/focus.html: Reduce the text size to fit with smaller |
| particle sizes. |
| * Animometer/tests/master/resources/focus.js: Remove the quadratic distribution for |
| particle sizes, and make it linear. Reduce the size variance. Shuffle the math to |
| reduce some calculations per frame. Fix the placement of the particles which might |
| otherwise be culled. |
| * Animometer/tests/master/resources/image-data.js: Reduce the particle size |
| to encourage larger scores. |
| |
| 2016-06-21 Jon Lee <jonlee@apple.com> |
| |
| Improvements to Animometer benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=157738 |
| |
| Reviewed by Dean Jackson. |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| Include confidence interval for the final score, and store the canvas |
| size in the serialization so that it is accurately shown in results. |
| |
| * Animometer/developer.html: Add a "confidence" div. |
| * Animometer/index.html: Ditto. Convert "mean" to "confidence". |
| * Animometer/resources/debug-runner/animometer.js: Look at options, and |
| if the configuration is included, update the body class based on it |
| (similar to what we do when we first load the page). That way, if you |
| drag-and-drop previous results in, that configuration is reflected in |
| the dashboard. Show the full confidence interval. |
| |
| * Animometer/resources/debug-runner/animometer.css: |
| * Animometer/resources/debug-runner/animometer.js: Style update. |
| * Animometer/resources/runner/animometer.css: |
| |
| * Animometer/resources/runner/animometer.js: |
| (_processData): Propagate the confidence interval values out and calculate |
| the lower and upper bounds. For now, shortcut the aggregate calculation, |
| since we only go through one iteration. |
| (this._processData.calculateScore): Propagate the confidence interval out |
| to be next to the score. Depending on the controller these values are |
| calculated differently. |
| (this._processData._getResultsProperty): Convenience function. |
| (this._processData.get score): Refactor. |
| (this._processData.get scoreLowerBound): Get the aggregate lower bound. |
| (this._processData.get scoreUpperBound): Get the aggregate upper bound. |
| (window.sectionsManager.setSectionScore): |
| (window.benchmarkController._startBenchmark): When the benchmark starts, note |
| the canvas size and add it to options. That way it will be automatically be |
| serialized. |
| (window.benchmarkController.showResults): Include the maximum deviation |
| percentage. |
| * Animometer/resources/runner/lines.svg: Make the background line up with the |
| skew. |
| * Animometer/resources/runner/tests.js: |
| (Headers.details.text): Refactor. |
| * Animometer/resources/statistics.js: |
| (Statistics.largestDeviationPercentage): Convenience function to calculate |
| the deviation percentage on either end and return the largest deviation. |
| * Animometer/resources/strings.js: |
| |
| Allow specifying a regression profile to use instead of taking the one |
| with the lowest error. |
| |
| Address an issue in the focus test when the regression calculated ends |
| up overestimating the change point, causing a cascade of tougher |
| ramps. The reason behind this is that at max complexity of an initial |
| ramp, the frame length is very high, and it influences the second |
| segment of the piecewise regression strongly, causing it to be very |
| steep. As a result, the first segment, expected to be flat, ends up |
| covering a higher range of complexity. That makes the change point |
| much higher than it should be. To avoid this, we will add a sanity |
| check on the maximum value of the ramp. If the regression's projected |
| value at the maximum complexity of the current ramp is very slow (less |
| than 20 fps), 1) reduce the maximum complexity by 20%, and 2) do not |
| include the regression's change point in the change point estimator. |
| That estimator is used as the midpoint of the next ramp, and including |
| the change point from a poor regression can bake in the error. The |
| controller already knows how to adjust for ramps that are too easy for |
| the system. |
| |
| * Animometer/resources/runner/animometer.js: |
| (this._processData.findRegression): Takes a preferred profile and gives that to |
| Regression. |
| (this._processData.calculateScore): With the ramp controller, take the profile |
| of the ramp that was used the most when calculating the ramp's regression. That |
| profile is what is used for the test's score. |
| * Animometer/resources/statistics.js: |
| (Regression.Utilities.createClass): Update to take an options object which can |
| specify a profile to calculate with. Otherwise it will continue to use both and |
| select the one with the lower error. |
| (_calculateRegression): Fix an issue where we claim 0 error if the regression |
| calculation fails due to divide-by-zero. Instead reject that regression calculation |
| by giving it Number.MAX_VALUE. |
| * Animometer/resources/strings.js: New strings for marking a regression as flat |
| or slope. |
| * Animometer/tests/resources/main.js: |
| (RampController): Rename the thresholds for clarity. Add a threshold that, if |
| exceeded, will lower the maximum complexity of the next ramp. |
| (tune): Relax the cdf check to consider whether the interval definitely falls in |
| the desired frame length threshold. |
| (processSamples): Include the profile in the ramp. |
| |
| Update ramp controller test. Increase the length of the test to 30 seconds, and extend |
| the interval to 120 ms during sampling. Improve the estimation of the ramp parameters. |
| |
| * Animometer/developer.html: Change default to 30 seconds, and don't show the progress bar |
| by default. |
| * Animometer/resources/runner/animometer.js: Change default to 30 seconds. |
| * Animometer/tests/resources/main.js: A number of improvements to the ramp controller, in |
| the order in which they appear in the patch: |
| |
| - With a longer test length use longer ramps with longer intervals to get more data at each |
| complexity. Keep the 100 ms interval length during the ramp up phase since we don't need to |
| spend more time there to find the right order of magnitude, but increase it during the |
| ramps to 120 ms. |
| - The ramp linearly interpolates the complexity to render based on its timestamp, but it would |
| never sample the minimum complexity. Instead of lerping max to min complexity from time |
| 0 to t where t is the ramp length, instead lerp from 0 to (t - intervalSampleLength) so that |
| we can have at least one interval sample at the min complexity for that ramp. |
| - Some regression calculations only come out with one line segment rather than the two |
| we expect. This could be due to a noisy ramp or the ramp's range is too narrow. If that's the |
| case, influence the minimum complexity of the next ramp towards the lowest bound of 1, so that |
| we ensure that at least part of the ramp is covering a complexity range that the system can |
| handle at full 60. |
| - Remove an assignment to interpolatedFrameLength since that is never subsequently used. |
| |
| Update the format used to serialize the results for analysis. |
| |
| Each data point used to have named properties for fields like complexity and frame rate. |
| In addition the serialized numbers had rounding errors that took up many characters. |
| Update the format by introducing a new data container called SampleData, which contains a |
| field map. The map maps a string to an array index. Each data point is an array, so, to |
| get a stat, use the field map to get the array index into the data point. This allows future |
| versions to track other data, and reduces the size of the output string by two-thirds. |
| |
| * Animometer/resources/extensions.js: |
| (Utilities.toFixedNumber): Add convenience function that truncates the number to a fixed |
| precision, and converts it back to a number. |
| (SampleData): New class that contains sample data and a field map that maps properties to |
| an array index. |
| (get length): Number of data points. |
| (addField): Add a field to the field map. |
| (push): Add a data point. |
| (sort): Sort the data. |
| (slice): Return new SampleData object with sliced data. |
| (forEach): Iterate over the data with provided function. |
| (createDatum): |
| (getFieldInDatum): Returns the data point associated with the field name by looking it up |
| in the field map in the datum provided, which can be the datum object itself (an array) or |
| an index into the data member variable. |
| (setFieldInDatum): Sets the data point associated with the field name. |
| (at): Returns the data point at the provided index. |
| (toArray): Serializes the data where the field map serves as property names for each point. |
| |
| * Animometer/resources/debug-runner/graph.js: |
| (updateGraphData): Remove unused _testData. Convert the data to the old array format for the |
| graph to use, since the old format was much easier to work with when displaying the graphs. |
| (onGraphTypeChanged): For some controllers, no alternative score or mean is provided. |
| * Animometer/resources/runner/animometer.css: |
| * Animometer/resources/runner/animometer.js: Refactor to use SampleData. Update JSON output |
| to only go to 3 digits of precision for purposes of reducing the data size. |
| * Animometer/resources/strings.js: Add new strings to put into the field maps. |
| * Animometer/tests/resources/main.js: Refactor to use SampleData. |
| |
| * Animometer/developer.html: |
| * Animometer/index.html: Restructure results table for both pages. Add charset attribute to |
| tests.js include. |
| * Animometer/resources/debug-runner/animometer.css: Clear out styles from release runner. |
| * Animometer/resources/debug-runner/graph.js: |
| (onGraphTypeChanged): Update score and mean if bootstrap results are available from the |
| controller, since not all controllers do bootstrapping. |
| * Animometer/resources/debug-runner/tests.js: Update header text. |
| * Animometer/resources/runner/animometer.css: Include confidence interval in results. |
| * Animometer/resources/runner/animometer.js: |
| (ResultsTable._addHeader): Header contents can be HTML, so use innerHTML instead. |
| (ResultsTable._addBody): Add tbody element. |
| (ResultsTable._addTest): Allow a data cell to invoke a JS function to get its contents. |
| (window.benchmarkController.showResults): Add table that includes tests' confidence intervals. |
| * Animometer/resources/runner/tests.js: |
| (Headers.details.text): Add new details table that includes bootstrap confidence interval. |
| The interval can be asymmetric, but for simplicity, report the maximum deviation percentage |
| on either side of the bootstrap median. |
| * Animometer/resources/statistics.js: |
| (bootstrap): Include the confidence percentage in the return object. |
| |
| Report canvas size in results. |
| |
| * Animometer/developer.html: Add markup to indicate whether a small, medium, or large |
| canvas was used. |
| * Animometer/index.html: Ditto. |
| * Animometer/resources/debug-runner/animometer.js: Call determineCanvasSize(). |
| * Animometer/resources/runner/animometer.css: Update styles to set the canvas based on the |
| body class size. |
| * Animometer/resources/runner/animometer.js: |
| (window.benchmarkController.initialize): Update styles to set the canvas based on the |
| body class size. |
| (window.benchmarkController.determineCanvasSize): Run various media queries and set the body |
| class based on the size of the device. |
| |
| * Animometer/developer.html: Refactor to include the main CSS file, and redo |
| the layout so that it doesn't rely on flexbox. |
| * Animometer/resources/debug-runner/animometer.css: |
| * Animometer/resources/debug-runner/animometer.js: |
| (updateDisplay): Since various parts of the script alter the body class, we can't |
| replace the className directly. Instead, remove all display-based values and then add |
| the one that was selected. |
| * Animometer/resources/debug-runner/graph.js: |
| (updateGraphData): To set the size of the graph, use window.innerHeight. |
| * Animometer/resources/runner/animometer.js: |
| (window.sectionsManager.showSection): Since various parts of the script alter the body |
| class, we can't replace the className directly. Remove all of the section classes |
| individually and then add the one desired. |
| * Animometer/tests/resources/stage.css: Remove -apple-system as a font to use in the |
| stage. |
| |
| 2016-06-12 Filip Pizlo <fpizlo@apple.com> |
| |
| Fix round-down goof in Air.js's ShuffleCustom.forEachArg |
| https://bugs.webkit.org/show_bug.cgi?id=158674 |
| |
| Reviewed by Michael Saboff. |
| |
| x / 3 * 3 is not how you round down to multiples of 3 in JavaScript. You need to do |
| Math.floor(x / 3) * 3 instead. |
| |
| This is a benign change, because having extra arguments to a Shuffle is not something we |
| actually take advantage of yet. But I think it's best to match the original C++ code's |
| intent. |
| |
| * Air.js/custom.js: |
| (const.ShuffleCustom.forEachArg): |
| |
| 2016-06-11 Filip Pizlo <fpizlo@apple.com> |
| |
| Unreviewed, skip Air.js. It got unskipped when I renamed it from JSAir. |
| |
| * Skipped: |
| |
| 2016-06-10 Filip Pizlo <fpizlo@apple.com> |
| |
| Make it easy to package Air.js |
| https://bugs.webkit.org/show_bug.cgi?id=158652 |
| |
| Reviewed by Benjamin Poulain. |
| |
| If you want to give Air.js to someone, you can now do: |
| |
| cd PerformanceTests/Air.js |
| ./make_dist.sh |
| |
| This will create Air.js.tar.gz and a directory called Air.js. If you want to send someone |
| the benchmark, just send either of those things and tell them to look at index.html. |
| |
| You may have to edit make_dist.sh for wherever you have Markdown.pl. You can get that from |
| https://daringfireball.net/projects/markdown/ |
| |
| * Air.js/make_dist.sh: Added. |
| * Air.js/test.html: |
| |
| 2016-06-10 Filip Pizlo <fpizlo@apple.com> |
| |
| Unreviewed, make the link to test.html into an actual link. |
| |
| * Air.js/README.md: |
| |
| 2016-06-10 Filip Pizlo <fpizlo@apple.com> |
| |
| Fix some text in Air.js/README.md |
| https://bugs.webkit.org/show_bug.cgi?id=158650 |
| |
| Reviewed by Benjamin Poulain. |
| |
| I read the text again and found bugs: |
| |
| - We never actually say how to run the benchmark. This change adds a blurb about how to run |
| it. |
| |
| - We both say that allocateStack is responsible for the bulk of the running time and that |
| we haven't measured where the bulk of the time is spent. This changes the text to say that |
| it was a goal to make allocateStack be the hottest part of the benchmark, but that we did |
| not measure this. |
| |
| * Air.js/README.md: |
| |
| 2016-06-10 Filip Pizlo <fpizlo@apple.com> |
| |
| Air.js should have some documentation |
| https://bugs.webkit.org/show_bug.cgi?id=158648 |
| |
| Reviewed by Keith Miller. |
| |
| I want to be able to point people at a document if they want to know more about this |
| benchmark. |
| |
| * Air.js/README.md: Added. |
| |
| 2016-06-10 Filip Pizlo <fpizlo@apple.com> |
| |
| Rename JSAir to Air.js. |
| |
| Rubber stamped by Mark Lam. |
| |
| * Air.js: Copied from PerformanceTests/JSAir. |
| * Air.js/airjs-tests.yaml: Copied from PerformanceTests/JSAir/jsair-tests.yaml. |
| * Air.js/benchmark.js: Copied from PerformanceTests/JSAir/benchmark.js. |
| (Benchmark): |
| * Air.js/jsair-tests.yaml: Removed. |
| * Air.js/payload-airjs-ACLj8C.js: Copied from PerformanceTests/JSAir/payload-jsair-ACLj8C.js. |
| * Air.js/payload-jsair-ACLj8C.js: Removed. |
| * Air.js/stress-test.js: Copied from PerformanceTests/JSAir/stress-test.js. |
| * Air.js/test.html: Copied from PerformanceTests/JSAir/test.html. |
| * Air.js/test.js: Copied from PerformanceTests/JSAir/test.js. |
| * JSAir: Removed. |
| * JSAir/all.js: Removed. |
| * JSAir/allocate_stack.js: Removed. |
| * JSAir/arg.js: Removed. |
| * JSAir/basic_block.js: Removed. |
| * JSAir/benchmark.js: Removed. |
| * JSAir/code.js: Removed. |
| * JSAir/custom.js: Removed. |
| * JSAir/frequented_block.js: Removed. |
| * JSAir/insertion_set.js: Removed. |
| * JSAir/inst.js: Removed. |
| * JSAir/jsair-tests.yaml: Removed. |
| * JSAir/liveness.js: Removed. |
| * JSAir/opcode.js: Removed. |
| * JSAir/payload-gbemu-executeIteration.js: Removed. |
| * JSAir/payload-imaging-gaussian-blur-gaussianBlur.js: Removed. |
| * JSAir/payload-jsair-ACLj8C.js: Removed. |
| * JSAir/payload-typescript-scanIdentifier.js: Removed. |
| * JSAir/reg.js: Removed. |
| * JSAir/stack_slot.js: Removed. |
| * JSAir/stress-test.js: Removed. |
| * JSAir/strip-hash.rb: Removed. |
| * JSAir/symbols.js: Removed. |
| * JSAir/test.html: Removed. |
| * JSAir/test.js: Removed. |
| * JSAir/tmp.js: Removed. |
| * JSAir/tmp_base.js: Removed. |
| * JSAir/util.js: Removed. |
| |
| 2016-06-10 Filip Pizlo <fpizlo@apple.com> |
| |
| JSC Stress Test failing: jsair-tests.yaml/test.js.ftl-eager-no-cjit |
| https://bugs.webkit.org/show_bug.cgi?id=158571 |
| |
| Reviewed by Keith Miller. |
| |
| Introduce a different harness for run-jsc-stress-tests, which runs for a minimum of 10 |
| iterations and then tries to do any number of "bonus" iterations until it's been running for |
| two seconds. Since this is the sort of test that isn't really meant to stress anything in |
| particular, I think it's OK if it is time-limited in this way. The worst case is that some |
| of its failures will be flaky, but I think that they would have been flaky anyway given the |
| complexity of the test. |
| |
| * JSAir/benchmark.js: |
| (Benchmark): |
| (Benchmark.prototype.runIteration): |
| (benchmark): Deleted. |
| * JSAir/jsair-tests.yaml: |
| * JSAir/stress-test.js: Added. |
| (preciseTime): |
| * JSAir/test.html: |
| * JSAir/test.js: |
| |
| 2016-06-09 Filip Pizlo <fpizlo@apple.com> |
| |
| Unreviewed, teach the perf bots not to run JSAir. |
| |
| * Skipped: |
| |
| 2016-06-08 Filip Pizlo <fpizlo@apple.com> |
| |
| Use more ES6 features in JSAir |
| https://bugs.webkit.org/show_bug.cgi?id=158497 |
| |
| Reviewed by Keith Miller. |
| |
| This improves JSAir with the following ES6 features suggested by JoePeck: |
| |
| - String interpolation. |
| - Destructuring inside PatchCustom. |
| - Default arguments. |
| |
| All of these things are on hot paths. |
| |
| Note that I didn't use string interpolation everywhere that I could, only in those places |
| where it made the code more readable. In Ruby, I used the style that if the interpolation |
| expression has any non-trivial stuff (like a ternary operator, a chain of calls, or embedded |
| strings) then it's better to use regular strcat. I think that's what I carried over to here. |
| |
| Note that the previous change (Add result validation to JSAir) also made the Proxy code not |
| dead, though it's not necessarily on the hot path. The Proxy isn't called into frequently |
| but it's used from a function that is otherwise hot, so if calling into the Proxy prevents |
| that function from being optimized then it will hurt so good. |
| |
| I also reenabled tail calls in a few places. |
| |
| This change doesn't seem to change the performance of the benchmark for us. That's expected |
| since these ES6 features are cheap. Note that this claim doesn't include Proxy, which was |
| added in a separate change and that change did make the benchmark overall more expensive. |
| |
| * JSAir/allocate_stack.js: |
| (allocateStack): |
| * JSAir/arg.js: |
| (Arg.createBitImm64): |
| (Arg.createAddr): |
| (Arg.createStack): |
| (Arg.logScale): |
| (Arg.createIndex): |
| * JSAir/basic_block.js: |
| (BasicBlock.get headerString): |
| (BasicBlock.prototype.get if): |
| (BasicBlock): |
| * JSAir/benchmark.js: |
| (benchmark): |
| * JSAir/code.js: |
| (Code): |
| (Code.prototype.addBlock): |
| (Code.prototype.addStackSlot): |
| (Code.prototype.newTmp): |
| (Code.prototype.get size): |
| (Code.prototype.get blocks): |
| (Code.prototype.get stackSlots): |
| (Code.prototype.tmps): |
| (Code.prototype.get callArgAreaSize): |
| (Code.prototype.toString): |
| * JSAir/custom.js: |
| (const.PatchCustom.forEachArg): |
| * JSAir/inst.js: |
| (Inst): |
| * JSAir/reg.js: |
| (Reg.prototype.toString): |
| * JSAir/util.js: |
| (symbolName): |
| (lowerSymbolName): |
| |
| 2016-06-07 Filip Pizlo <fpizlo@apple.com> |
| |
| Add result validation to JSAir |
| https://bugs.webkit.org/show_bug.cgi?id=158493 |
| |
| Reviewed by Saam Barati. |
| |
| This adds the ability to hash a Code in a way that matches the C++ code's hashing of Code. |
| This allows us to check if the Code that JSAir sees is the code that C++ saw. We use this to |
| check the Code before and after allocateStack, and compare against hashes we got from C++. |
| |
| Doing this uncovered bugs. roundUpToMultipleOf wasn't doing anything. allocateStack was not |
| allocating things correctly because I was concatting a Set to an Array, which doesn't really |
| work. Now these bugs are fixed. |
| |
| The checking step adds to the running time so I reduced the number of iterations. The |
| benchmark spends a decent amount of its time computing Code hashes; I think it's around 1/3 |
| total. This is probably OK. It's better to verify the results even if the running time is |
| not all in the "core" of the algorithm. |
| |
| Also add a run-jsc-stress-tests yaml file to allow this to run as a test. |
| |
| * JSAir/allocate_stack.js: |
| * JSAir/arg.js: |
| (Arg.createImm): |
| (Arg.createBigImm): |
| (Arg.createBitImm): |
| (Arg.createBitImm64): |
| (Arg.createWidth): |
| (Arg.createSpecial): |
| (Arg.prototype.get kind): |
| (Arg.prototype.get isTmp): |
| (Arg.prototype.get isImm): |
| (Arg.prototype.get isSomeImm): |
| (Arg.prototype.get isSomeBigImm): |
| (Arg.prototype.get isCondition): |
| (Arg.prototype.get isWidth): |
| (Arg.prototype.get isSpecial): |
| (Arg.prototype.get isAlive): |
| (Arg.prototype.get tmp): |
| (Arg.prototype.get value): |
| (Arg.prototype.get lowValue): |
| (Arg.prototype.get highValue): |
| (Arg.prototype.get base): |
| (Arg.prototype.get isGP): |
| (Arg.prototype.get isFP): |
| (Arg.prototype.isValidForm): |
| (Arg.prototype.get isInvertible): |
| (Arg.kindCode): |
| (Arg.prototype.hash): |
| (Arg.prototype.toString): |
| (Arg): |
| * JSAir/basic_block.js: |
| (BasicBlock.get successorBlocks): |
| * JSAir/benchmark.js: |
| (benchmark): |
| * JSAir/code.js: |
| (Code.prototype.setFrameSize): |
| (Code.prototype.hash): |
| (Code.prototype.toString): |
| (Code): |
| * JSAir/inst.js: |
| (Inst.prototype.get hasNonArgEffects): |
| (Inst.prototype.hash): |
| (Inst.prototype.toString): |
| (Inst): |
| * JSAir/jsair-tests.yaml: Added. |
| * JSAir/opcode.js: |
| (Inst_forEachArg): |
| (Inst_hasNonArgEffects): |
| (opcodeCode): |
| * JSAir/payload-gbemu-executeIteration.js: |
| (createPayloadGbemuExecuteIteration): |
| * JSAir/payload-imaging-gaussian-blur-gaussianBlur.js: |
| (createPayloadImagingGaussianBlurGaussianBlur): |
| * JSAir/payload-jsair-ACLj8C.js: |
| (createPayloadJSAirACLj8C): |
| * JSAir/payload-typescript-scanIdentifier.js: |
| (createPayloadTypescriptScanIdentifier): |
| * JSAir/reg.js: |
| (Reg.prototype.get isReg): |
| (Reg.prototype.hash): |
| (Reg.prototype.toString): |
| * JSAir/stack_slot.js: |
| (StackSlot.prototype.setOffsetFromFP): |
| (StackSlot.prototype.hash): |
| (StackSlot.prototype.toString): |
| * JSAir/symbols.js: |
| (relCondCode): |
| (resCondCode): |
| (doubleCondCode): |
| * JSAir/test.html: |
| * JSAir/tmp.js: |
| (Tmp.prototype.get isReg): |
| (Tmp.prototype.hash): |
| (Tmp.prototype.toString): |
| * JSAir/util.js: |
| (roundUpToMultipleOf): |
| (symbolName): |
| |
| 2016-06-07 Filip Pizlo <fpizlo@apple.com> |
| |
| Implement Air::allocateStack() in ES6 to see how much of a bad idea that is |
| https://bugs.webkit.org/show_bug.cgi?id=158318 |
| |
| Reviewed by Saam Barati. |
| |
| This adds a new benchmark for us to play with called JSAir. It's a complete ES6 |
| implementation of Air's allocateStack() phase along with all of Air needed to run that |
| phase. This includes things like stack slots, registers, temporaries, basic blocks, |
| instructions, and all of the code for iterating over, inspecting, and modifying those |
| things. |
| |
| To make this work, JSC can now dump Air just before allocateStack() in the form of JS code |
| that creates a Code object that matches exactly what C++ Air saw. This benchmark comprises |
| four Air IRs: |
| |
| - Octane/gbemu's largest function, executeIteration. |
| - Kraken/imaging-gaussian-blur's largest function in OSR entry mode, gaussuanBlur. |
| - Octane/typescript's largest function that is actually hot, scanIdentifier. |
| - JSAir's largest hot function, which is anonymous, so we call it by its hash (ACLj8C). |
| |
| This runs in about 2 seconds on my machine in JSC trunk. It includes both a commandline |
| harness and a web harness. JSAir is almost exactly 100x slower in ES6 in WebKit than the |
| C++ Air::allocateStack() phase on which it is based. |
| |
| JSAir uses the following ES6 features: |
| |
| - Symbol. |
| - for-of. |
| - arrow functions. |
| - Map/Set. |
| - let/const. |
| - classes. |
| |
| All of these things are used in anger and should end up on the hot path. There is also code |
| that uses Proxies, but it ends up being dead. |
| |
| We can improve this even more: |
| I still need to add result validation: https://bugs.webkit.org/show_bug.cgi?id=158493 |
| I want to make it use more ES6 features: https://bugs.webkit.org/show_bug.cgi?id=158497 |
| |
| * JSAir: Added. |
| * JSAir/all.js: Added. |
| * JSAir/allocate_stack.js: Added. |
| (allocateStack.attemptAssignment): |
| (allocateStack.assign): |
| (allocateStack.interfere): |
| (allocateStack.): |
| (allocateStack): |
| * JSAir/arg.js: Added. |
| (Arg): |
| (Arg.isAnyUse): |
| (Arg.isColdUse): |
| (Arg.isWarmUse): |
| (Arg.cooled): |
| (Arg.isEarlyUse): |
| (Arg.isLateUse): |
| (Arg.isAnyDef): |
| (Arg.isEarlyDef): |
| (Arg.isLateDef): |
| (Arg.isZDef): |
| (Arg.typeForB3Type): |
| (Arg.widthForB3Type): |
| (Arg.conservativeWidth): |
| (Arg.minimumWidth): |
| (Arg.bytes): |
| (Arg.widthForBytes): |
| (Arg.createTmp): |
| (Arg.fromReg): |
| (Arg.createImm): |
| (Arg.createBigImm): |
| (Arg.createBitImm): |
| (Arg.createBitImm64): |
| (Arg.createAddr): |
| (Arg.createStack): |
| (Arg.createCallArg): |
| (Arg.createStackAddr): |
| (Arg.isValidScale): |
| (Arg.logScale): |
| (Arg.createIndex): |
| (Arg.createRelCond): |
| (Arg.createResCond): |
| (Arg.createDoubleCond): |
| (Arg.createWidth): |
| (Arg.prototype.get kind): |
| (Arg.prototype.get isTmp): |
| (Arg.prototype.get isImm): |
| (Arg.prototype.get isBigImm): |
| (Arg.prototype.get isBitImm): |
| (Arg.prototype.get isBitImm64): |
| (Arg.prototype.get isSomeImm): |
| (Arg.prototype.get isAddr): |
| (Arg.prototype.get isStack): |
| (Arg.prototype.get isCallArg): |
| (Arg.prototype.get isIndex): |
| (Arg.prototype.get isMemory): |
| (Arg.prototype.get isStackMemory): |
| (Arg.prototype.get isRelCond): |
| (Arg.prototype.get isResCond): |
| (Arg.prototype.get isDoubleCond): |
| (Arg.prototype.get isCondition): |
| (Arg.prototype.get isWidth): |
| (Arg.prototype.get isAlive): |
| (Arg.prototype.get tmp): |
| (Arg.prototype.get value): |
| (Arg.prototype.get base): |
| (Arg.prototype.get hasOffset): |
| (Arg.prototype.get offset): |
| (Arg.prototype.get stackSlot): |
| (Arg.prototype.get index): |
| (Arg.prototype.get scale): |
| (Arg.prototype.get logScale): |
| (Arg.prototype.get width): |
| (Arg.prototype.get isGPTmp): |
| (Arg.prototype.get isFPTmp): |
| (Arg.prototype.get isGP): |
| (Arg.prototype.get isFP): |
| (Arg.prototype.get hasType): |
| (Arg.prototype.get type): |
| (Arg.prototype.isType): |
| (Arg.prototype.isCompatibleType): |
| (Arg.prototype.get isGPR): |
| (Arg.prototype.get gpr): |
| (Arg.prototype.get isFPR): |
| (Arg.prototype.get fpr): |
| (Arg.prototype.get isReg): |
| (Arg.prototype.get reg): |
| (Arg.isValidImmForm): |
| (Arg.isValidBitImmForm): |
| (Arg.isValidBitImm64Form): |
| (Arg.isValidAddrForm): |
| (Arg.isValidIndexForm): |
| (Arg.prototype.isValidForm): |
| (Arg.prototype.forEachTmpFast): |
| (Arg.prototype.usesTmp): |
| (Arg.prototype.forEachTmp): |
| (Arg.prototype.is): |
| (Arg.prototype.as): |
| (Arg.prototype.forEachFast): |
| (Arg.prototype.forEach): |
| (Arg.extract): |
| (Arg.forEachFast): |
| (Arg.forEach): |
| (Arg.prototype.get condition): |
| (Arg.prototype.get isInvertible): |
| (Arg.prototype.toString): |
| * JSAir/basic_block.js: Added. |
| (BasicBlock): |
| (BasicBlock.prototype.get index): |
| (BasicBlock.prototype.get size): |
| (BasicBlock.prototype.Symbol.iterator): |
| (BasicBlock.prototype.at): |
| (BasicBlock.get last): |
| (BasicBlock.get insts): |
| (BasicBlock.get numSuccessors): |
| (BasicBlock.get successors): |
| (BasicBlock.get successorBlocks.): |
| (BasicBlock.get successorBlocks): |
| (BasicBlock.set get numPredecessors): |
| (BasicBlock.get predecessors): |
| (BasicBlock.get frequency): |
| (BasicBlock.get headerString): |
| (BasicBlock.get footerString): |
| * JSAir/benchmark.js: Added. |
| (benchmark): |
| * JSAir/code.js: Added. |
| (Code): |
| (Code.prototype.addBlock): |
| (Code.prototype.addStackSlot): |
| (Code.prototype.newTmp): |
| (Code.prototype.get size): |
| (Code.prototype.at): |
| (Code.prototype.Symbol.iterator): |
| (Code.prototype.get blocks): |
| (Code.prototype.get stackSlots): |
| (Code.prototype.tmps): |
| (Code.prototype.get callArgAreaSize): |
| (Code.prototype.requestCallArgAreaSize): |
| (Code.prototype.get frameSize): |
| (Code.prototype.setFrameSize): |
| (Code.prototype.toString): |
| * JSAir/custom.js: Added. |
| (const.ShuffleCustom.forEachArg): |
| (const.ShuffleCustom.hasNonArgNonControlEffects): |
| (const.PatchCustom.forEachArg): |
| (const.PatchCustom.hasNonArgNonControlEffects): |
| (const.CCallCustom.forEachArg): |
| (const.CCallCustom.hasNonArgNonControlEffects): |
| (const.ColdCCallCustom.forEachArg): |
| (const.ColdCCallCustom.hasNonArgNonControlEffects): |
| * JSAir/frequented_block.js: Added. |
| (FrequentedBlock): |
| (FrequentedBlock.prototype.toString): |
| * JSAir/insertion_set.js: Added. |
| (Insertion): |
| (Insertion.prototype.get index): |
| (Insertion.prototype.get element): |
| (Insertion.prototype.lessThan): |
| (InsertionSet): |
| (InsertionSet.prototype.appendInsertion): |
| (InsertionSet.prototype.append): |
| (InsertionSet.prototype.execute): |
| * JSAir/inst.js: Added. |
| (Inst): |
| (Inst.prototype.append): |
| (Inst.prototype.clear): |
| (Inst.prototype.get opcode): |
| (Inst.prototype.get args): |
| (Inst.prototype.visitArg): |
| (Inst.prototype.forEachTmpFast): |
| (Inst.prototype.forEachArg): |
| (Inst.prototype.forEachTmp): |
| (Inst.prototype.forEach): |
| (Inst.forEachDef): |
| (Inst.forEachDefWithExtraClobberedRegs): |
| (Inst.prototype.get hasNonArgEffects): |
| (Inst.prototype.toString): |
| * JSAir/liveness.js: Added. |
| (Liveness): |
| (Liveness.prototype.get thing): |
| (Liveness.prototype.get code): |
| (Liveness.prototype.get liveAtHead): |
| (Liveness.prototype.get liveAtTail): |
| (Liveness.prototype.localCalc.LocalCalc): |
| (Liveness.prototype.localCalc.LocalCalc.prototype.get liveSet): |
| (Liveness.prototype.localCalc.LocalCalc.prototype.execute): |
| (Liveness.prototype.localCalc): |
| * JSAir/opcode.js: Added. |
| (Inst_forEachArg): |
| (Inst_hasNonArgEffects): |
| * JSAir/payload-gbemu-executeIteration.js: Added. |
| (createPayloadGbemuExecuteIteration): |
| * JSAir/payload-imaging-gaussian-blur-gaussianBlur.js: Added. |
| (createPayloadImagingGaussianBlurGaussianBlur): |
| * JSAir/payload-jsair-ACLj8C.js: Added. |
| (createPayloadJSAirACLj8C): |
| * JSAir/payload-typescript-scanIdentifier.js: Added. |
| (createPayloadTypescriptScanIdentifier): |
| * JSAir/reg.js: Added. |
| (Reg): |
| (Reg.fromReg): |
| (Reg.prototype.get index): |
| (Reg.prototype.get type): |
| (Reg.prototype.get name): |
| (Reg.prototype.get isCalleeSave): |
| (Reg.prototype.get isReg): |
| (Reg.prototype.toString): |
| (Reg.extract): |
| (Reg.forEachFast): |
| (Reg.forEach): |
| (newGPR): |
| (Reg.gprs.Reg.fprs.Reg.calleeSaveGPRs.Reg.calleeSaveFPRs.Reg.calleeSaves): |
| * JSAir/stack_slot.js: Added. |
| (StackSlot): |
| (StackSlot.prototype.get byteSize): |
| (StackSlot.prototype.get kind): |
| (StackSlot.prototype.get isLocked): |
| (StackSlot.prototype.get isSpill): |
| (StackSlot.prototype.get index): |
| (StackSlot.prototype.ensureSize): |
| (StackSlot.prototype.get alignment): |
| (StackSlot.prototype.get offsetFromFP): |
| (StackSlot.prototype.setOffsetFromFP): |
| (StackSlot.prototype.toString): |
| (StackSlot.extract): |
| (StackSlot.forEachFast): |
| (StackSlot.forEach): |
| * JSAir/symbols.js: Added. |
| * JSAir/test.html: Added. |
| * JSAir/test.js: Added. |
| * JSAir/tmp.js: Added. |
| (Tmp): |
| (Tmp.fromReg): |
| (Tmp.prototype.get index): |
| (Tmp.prototype.get type): |
| (Tmp.prototype.get isReg): |
| (Tmp.prototype.toString): |
| (Tmp.extract): |
| (Tmp.forEachFast): |
| (Tmp.forEach): |
| * JSAir/tmp_base.js: Added. |
| (TmpBase.prototype.get isGP): |
| (TmpBase.prototype.get isFP): |
| (TmpBase.prototype.get isGPR): |
| (TmpBase.prototype.get isFPR): |
| (TmpBase.prototype.get reg): |
| (TmpBase.prototype.get gpr): |
| (TmpBase.prototype.get fpr): |
| (TmpBase): |
| * JSAir/util.js: Added. |
| (isRepresentableAsInt32): |
| (addIndexed): |
| (roundUpToMultipleOf): |
| (symbolName): |
| (mergeIntoSet): |
| (nonEmptyRangesOverlap): |
| (rangesOverlap): |
| (removeAllMatching): |
| (swap): |
| (bubble): |
| (bubbleSort): |
| (currentTime): |
| (else.currentTime): |
| |
| 2016-05-26 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Allow JSBench to use precise time |
| https://bugs.webkit.org/show_bug.cgi?id=158050 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * JSBench/amazon-chrome-win/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/amazon-chrome/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/amazon-firefox-win/urm.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/amazon-firefox/urm.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/amazon-safari/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/facebook-chrome-win/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/facebook-chrome/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/facebook-firefox-win/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/facebook-firefox/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/facebook-safari/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/google-chrome-win/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/google-chrome/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/google-firefox-win/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/google-firefox/uem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/google-safari/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/harness.js: |
| (runBenchmark.window.currentTimeInMS): |
| (runBenchmark.else.window.currentTimeInMS): |
| * JSBench/twitter-chrome-win/rem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/twitter-chrome/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/twitter-firefox-win/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/twitter-firefox/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/twitter-safari/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/yahoo-chrome-win/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/yahoo-chrome/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/yahoo-firefox-win/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/yahoo-firefox/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| * JSBench/yahoo-safari/urem.js: |
| (else.window.performance.window.performance.now.currentTimeInMS): |
| (else.else.typeof.preciseTime.string_appeared_here.currentTimeInMS): |
| (else.else.currentTimeInMS): |
| (onload.cb): |
| (onload): |
| |
| 2016-05-25 Geoffrey Garen <ggaren@apple.com> |
| |
| replaceable own properties seem to ignore replacement after property caching |
| https://bugs.webkit.org/show_bug.cgi?id=158091 |
| |
| Reviewed by Darin Adler. |
| |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: |
| * MallocBench/MallocBench/Benchmark.cpp: |
| * MallocBench/MallocBench/Interpreter.cpp: |
| (Interpreter::doMallocOp): |
| * MallocBench/MallocBench/Interpreter.h: |
| * MallocBench/MallocBench/fastMallocLog.63316.ops: Added. |
| * MallocBench/MallocBench/jetstream.cpp: Added. |
| (benchmark_jetstream): |
| * MallocBench/MallocBench/jetstream.h: Added. |
| |
| 2016-05-25 Keith Miller <keith_miller@apple.com> |
| |
| Unreviewed, add JSBench to the skipped list for now since it doesn't |
| work currently. |
| |
| * Skipped: |
| |
| 2016-05-17 Keith Miller <keith_miller@apple.com> |
| We should have JSBench in PerformanceTests |
| https://bugs.webkit.org/show_bug.cgi?id=157952 |
| |
| Rubber-stamped by Saam Barati. |
| |
| There are some slight changes to the layout of the test directory |
| to make it work nicely with run-jsc-benchmarks. Before JSBench |
| had each of the browser specific sub-tests in a sub-directory. |
| These have been flattened e.g. amazon/safari/ has become |
| amazon-safari/. |
| |
| * JSBench/amazon-chrome-win/urem.html: Added. |
| * JSBench/amazon-chrome-win/urem.js: Added. |
| * JSBench/amazon-chrome/urem.html: Added. |
| * JSBench/amazon-chrome/urem.js: Added. |
| * JSBench/amazon-firefox-win/urm.html: Added. |
| * JSBench/amazon-firefox-win/urm.js: Added. |
| * JSBench/amazon-firefox/urm.html: Added. |
| * JSBench/amazon-firefox/urm.js: Added. |
| * JSBench/amazon-safari/urem.html: Added. |
| * JSBench/amazon-safari/urem.js: Added. |
| * JSBench/browsercheck.js: Added. |
| * JSBench/facebook-chrome-win/urem.html: Added. |
| * JSBench/facebook-chrome-win/urem.js: Added. |
| * JSBench/facebook-chrome/urem.html: Added. |
| * JSBench/facebook-chrome/urem.js: Added. |
| * JSBench/facebook-firefox-win/urem.html: Added. |
| * JSBench/facebook-firefox-win/urem.js: Added. |
| * JSBench/facebook-firefox/urem.html: Added. |
| * JSBench/facebook-firefox/urem.js: Added. |
| * JSBench/facebook-safari/urem.html: Added. |
| * JSBench/facebook-safari/urem.js: Added. |
| * JSBench/google-chrome-win/urem.html: Added. |
| * JSBench/google-chrome-win/urem.js: Added. |
| * JSBench/google-chrome/urem.html: Added. |
| * JSBench/google-chrome/urem.js: Added. |
| * JSBench/google-firefox-win/urem.html: Added. |
| * JSBench/google-firefox-win/urem.js: Added. |
| * JSBench/google-firefox/uem.html: Added. |
| * JSBench/google-firefox/uem.js: Added. |
| * JSBench/google-safari/urem.html: Added. |
| * JSBench/google-safari/urem.js: Added. |
| * JSBench/harness.html: Added. |
| * JSBench/harness.js: Added. |
| * JSBench/harness.py: Added. |
| * JSBench/index.html: Added. |
| * JSBench/reload.html: Added. |
| * JSBench/twitter-chrome-win/rem.html: Added. |
| * JSBench/twitter-chrome-win/rem.js: Added. |
| * JSBench/twitter-chrome/urem.html: Added. |
| * JSBench/twitter-chrome/urem.js: Added. |
| * JSBench/twitter-firefox-win/urem.html: Added. |
| * JSBench/twitter-firefox-win/urem.js: Added. |
| * JSBench/twitter-firefox/urem.html: Added. |
| * JSBench/twitter-firefox/urem.js: Added. |
| * JSBench/twitter-safari/urem.html: Added. |
| * JSBench/twitter-safari/urem.js: Added. |
| * JSBench/yahoo-chrome-win/urem.html: Added. |
| * JSBench/yahoo-chrome-win/urem.js: Added. |
| * JSBench/yahoo-chrome/urem.html: Added. |
| * JSBench/yahoo-chrome/urem.js: Added. |
| * JSBench/yahoo-firefox-win/urem.html: Added. |
| * JSBench/yahoo-firefox-win/urem.js: Added. |
| * JSBench/yahoo-firefox/urem.html: Added. |
| * JSBench/yahoo-firefox/urem.js: Added. |
| * JSBench/yahoo-safari/urem.html: Added. |
| * JSBench/yahoo-safari/urem.js: Added. |
| |
| 2016-05-20 Ryosuke Niwa <rniwa@webkit.org> |
| |
| run-benchmark's results should contain Animometer's debug output |
| https://bugs.webkit.org/show_bug.cgi?id=157941 |
| |
| Reviewed by Stephanie Lewis. |
| |
| Made developer.html support the JSON generated by run-benchmark which stores everything under debugOutput. |
| |
| * Animometer/resources/debug-runner/animometer.js: |
| (Utilities.initialize): Unwrap debugOutput in the case run-benchmark's result JSON is used. |
| |
| 2016-05-18 Timothy Hatcher <timothy@apple.com> |
| |
| Make Animometer work in all browsers |
| https://bugs.webkit.org/show_bug.cgi?id=157855 |
| rdar://problem/26338521 |
| |
| Reviewed by Jon Lee. |
| |
| * Animometer/resources/runner/logo.svg: Use a symbol instead |
| of putting the id on the root svg. This works in all browsers. |
| |
| 2016-05-07 Timothy Hatcher <timothy@apple.com> |
| |
| Update Animometer design |
| https://bugs.webkit.org/show_bug.cgi?id=157449 |
| |
| Reviewed by Darin Adler. |
| |
| * Animometer/developer.html: Stop including runner/animometer.css. |
| * Animometer/index.html: Udpated elements to fit new styles. |
| |
| * Animometer/resources/debug-runner/animometer.css: |
| Copy the old runner/animometer.css to here so the debug runner is unaffected. |
| |
| * Animometer/resources/runner/animometer.css: |
| New styles for the design. Drop flex box for broad browser support. |
| |
| * Animometer/resources/runner/animometer.js: |
| (ResultsTable.clear): Use textContent. |
| (window.sectionsManager.showSection): Add class to the body. |
| (window.sectionsManager.setSectionScore): Use textContent, not innerHTML. |
| |
| * Animometer/resources/runner/crystal.svg: Added. |
| * Animometer/resources/runner/lines.svg: Added. |
| * Animometer/resources/runner/logo.svg: Added. |
| |
| * Animometer/resources/runner/tests.js: Shorten test name and title case them. |
| |
| 2016-05-06 Manuel Rego Casasnovas <rego@igalia.com> |
| |
| [css-grid] Unprefix CSS Grid Layout properties |
| https://bugs.webkit.org/show_bug.cgi?id=157137 |
| |
| Reviewed by Simon Fraser. |
| |
| Remove "-webkit" prefix from all the grid layout properties, |
| including the display value. |
| Update the source code to remove the prefix where it was used too. |
| |
| * Layout/auto-grid-lots-of-data.html: |
| * Layout/fixed-grid-lots-of-data.html: |
| * Layout/fixed-grid-lots-of-stretched-data.html: |
| |
| 2016-04-25 Geoffrey Garen <ggaren@apple.com> |
| |
| bmalloc: Misc improvements to MallocBench |
| https://bugs.webkit.org/show_bug.cgi?id=157004 |
| |
| Reviewed by Darin Adler. |
| |
| * MallocBench/run-malloc-benchmarks: Added --memory and --memory_warning |
| modes for focused memory testing. |
| |
| * MallocBench/MallocBench/Benchmark.cpp: |
| (Benchmark::printReport): Clarified output. |
| |
| (Benchmark::currentMemoryBytes): Added compressed memory because top |
| does the same. (It always happens to zero in the benchmarks we run. But |
| this is good for sanity.) |
| |
| * MallocBench/MallocBench/CommandLine.cpp: Moved up to 8 runs to reduce |
| variance. |
| |
| * MallocBench/MallocBench/alloc_free.cpp: |
| (benchmark_alloc_free): Cycle a single allocation in order to stress |
| the effect of merging on calls to madvise. |
| |
| * MallocBench/MallocBench/big.cpp: |
| (benchmark_big): Graduated to 8kB-128kB because medium tests up to 8 and |
| our large allocator doesn't kick in until 64kB. |
| |
| * MallocBench/MallocBench/medium.cpp: |
| (benchmark_medium): Test all the way down to 1kB because our large |
| allocator used to service 1kB allocations and 1kB is an interesting |
| middle size where memory is unusually large but allocation throughput |
| still matters. |
| |
| * MallocBench/MallocBench/stress.cpp: |
| (benchmark_stress): Reduced the churn count to match stress_aligned |
| because this test was taking too long to complete. |
| |
| * MallocBench/MallocBench/stress_aligned.cpp: |
| (benchmark_stress_aligned): Our new large allocator can handle even |
| more absurdly large values. |
| |
| 2016-04-25 Simon Fraser <simon.fraser@apple.com> |
| |
| Add a content animation test that uses SVG animation. |
| https://bugs.webkit.org/show_bug.cgi?id=156827 |
| |
| * Animation/svg-animation.html: Added. |
| * Skipped: |
| |
| 2016-04-22 Simon Fraser <simon.fraser@apple.com> |
| |
| Skip two content animation tests which are only meant for iOS testing. |
| |
| * Animation/css-animation.html: Added. |
| * Animation/raf-animation.html: Added. |
| |
| * Skipped: |
| |
| 2016-04-20 Simon Fraser <simon.fraser@apple.com> |
| |
| Add content animation tests to benchmark_runner, and allow the runner to collect device data as part of the results |
| https://bugs.webkit.org/show_bug.cgi?id=156827 |
| |
| Add two files missing from the previous commit. |
| |
| * Animation/css-animation.html: Added. |
| * Animation/raf-animation.html: Added. |
| |
| 2016-04-20 Simon Fraser <simon.fraser@apple.com> |
| |
| Add content animation tests to benchmark_runner, and allow the runner to collect device data as part of the results |
| https://bugs.webkit.org/show_bug.cgi?id=156827 |
| |
| Reviewed by Stephanie Lewis. |
| |
| Two new files for the content-animation suite. |
| |
| After patching for use in the benchmark, these tests are a little different to other benchmarks. |
| The test content itself does not collect performance data; the tests spit out a boilerplate JSON |
| result with a placeholder for framerate, which is collected in native code. |
| |
| When run as a benchmark, test completion involves a couple of bounces between the test and MobileSafari. |
| Test completion is initiated by a setTimeout() in the test, at which point location.hash is set to "#done". |
| MobileSafari detects that, and asynchronously dumps performance data. Once this is complete, MobileSafari |
| changes the URL has to "#submit", which triggers the XHR to the test relay that indicates the test is |
| complete. |
| |
| * Animation/css-animation.html: Added. |
| * Animation/raf-animation.html: Added. |
| |
| 2016-04-15 Jon Lee <jonlee@apple.com> |
| |
| Animometer test could report a NaN |
| https://bugs.webkit.org/show_bug.cgi?id=156646 |
| |
| Reviewed by Darin Adler. |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| * Animometer/tests/resources/main.js: |
| (didFinishInterval): The ramp controller has a first phase where it ramps up the complexity and |
| reacts based on how well the system handles the load. The assumption was that it would handle at least |
| 1 particle easily. That is not always the case. As a result, an interpolation calculation could |
| end up setting an upper bound of NaN. |
| |
| This occurs because we never get out of the first tier, so this._lastTierComplexity is undefined. |
| Now that we guarantee a minimum complexity of 1, modify the conditional to check for this._lastTierComplexity |
| before interpolating the upper bound of the first ramp. In the case where the system struggles with |
| 1 particle, set it to currentComplexity. |
| |
| 2016-04-09 Jon Lee <jonlee@apple.com> |
| |
| Update Animometer to accommodate different screens |
| https://bugs.webkit.org/show_bug.cgi?id=156449 |
| |
| Reviewed by Darin Adler. |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| * Animometer/index.html: Wrap button in a container to add padding at the bottom. |
| * Animometer/resources/debug-runner/animometer.css: |
| (@media screen and (min-device-width: 1800px)): Deleted. |
| (@media screen and (min-width: 1800px)): Cannot use min-device-width since it may match incorrectly. |
| (screen and (max-device-height: 414px) and (orientation: landscape)): Some devices swap device width |
| and height with orientation change. |
| * Animometer/resources/runner/animometer.css: Similar. |
| (screen and (min-device-width: 1024px) and (orientation: landscape)): |
| (screen and (max-device-height: 414px) and (orientation: landscape)): |
| (.frame-container): On smaller iPhones, adding 1px prevents the navigation bars from appearing. |
| (@media screen and (min-device-width: 768px) and (max-device-width: 1024px)): Deleted. |
| (@media (min-device-height: 768px) and (max-device-height: 1024px)): Target iPad Airs and similar. |
| (@media screen and (min-device-width: 1024px) and (max-device-width: 1366px)): Deleted. |
| (@media screen and (max-device-width: 1024px) and (min-device-height: 1366px)): Target iPad Pro. |
| (#results footer): Add padding below the button for testing again. |
| * Animometer/tests/master/multiply.html: Remove the center text. |
| * Animometer/tests/master/resources/text.js: Update the test so that in every frame the text moves. |
| * Animometer/tests/master/text.html: Update the text sizing depending on the size of the device. |
| |
| 2016-04-08 Jon Lee <jonlee@apple.com> |
| |
| Have Animometer benchmark always start with complexity of 1 |
| https://bugs.webkit.org/show_bug.cgi?id=156432 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Animometer/tests/resources/main.js: Update the default Controller and RampController to |
| set its minimum complexities to 1 instead of 0. |
| |
| 2016-04-08 Jon Lee <jonlee@apple.com> |
| |
| Fix SVG benchmark test |
| https://bugs.webkit.org/show_bug.cgi?id=156410 |
| |
| Reviewed by Dean Jackson. |
| |
| * Animometer/resources/extensions.js: Update Point.zero to be a static Point. |
| * Animometer/tests/simple/resources/tiled-canvas-image.js: |
| (Stage.call._setupTiles): Refactor. |
| * Animometer/tests/master/resources/particles.js: |
| (Particle.prototype.reset): Use Point.center. |
| (complexity): We are not using a gradient background anymore, so remove the +1. |
| * Animometer/tests/master/resources/svg-particles.js: Update to use SVG transform |
| instead of CSS transform. |
| |
| 2016-04-06 Jon Lee <jonlee@apple.com> |
| |
| Update master benchmark with SVG test |
| https://bugs.webkit.org/show_bug.cgi?id=156273 |
| |
| Reviewed by Dean Jackson. |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| Switch masks tests for SVG path test. |
| |
| * Animometer/resources/debug-runner/tests.js: Move mask test here. |
| * Animometer/resources/runner/tests.js: Add SVG test here. |
| * Animometer/tests/dom/particles.html: Renamed from PerformanceTests/Animometer/tests/master/particles.html. |
| * Animometer/tests/dom/resources/dom-particles.js: Renamed from PerformanceTests/Animometer/tests/master/resources/dom-particles.js. |
| |
| * Animometer/tests/master/resources/particles.js: Add minPosition for bounds checking. Prevents particle from being |
| partially obscured. |
| * Animometer/tests/master/resources/svg-particles.js: Added. |
| (Particle): The particle is either a path object or a rect using a path as a clip. The |
| same path is used either way. For each particle create a linear gradient with a random |
| rotation. |
| (SVGParticlesStage): Look in #shapes to see how many different kinds of paths are available. |
| This makes the test more generic in case other shapes need to be tested. |
| * Animometer/tests/master/svg-particles.html: Added. Have two defs, one that houses each |
| particle's gradient, and one that holds the shape templates. |
| |
| 2016-03-27 Hunseop Jeong <hs85.jeong@samsung.com> |
| |
| [EFL] REGRESSION(r188793): It made 200 layout tests and Bindings/event-target-wrapper.html performance test fail |
| https://bugs.webkit.org/show_bug.cgi?id=148470 |
| |
| Reviewed by Darin Adler. |
| |
| * Skipped: Unskip the Bindings/event-target-wrapper test. |
| |
| 2016-03-23 Jon Lee <jonlee@apple.com> |
| |
| Update focus and leaves tests |
| https://bugs.webkit.org/show_bug.cgi?id=155825 |
| |
| Reviewed by Simon Fraser. |
| |
| Particles would improperly disappear, before they were fully off stage. Update the calculation. |
| * Animometer/tests/dom/resources/leaves.js: |
| * Animometer/tests/master/resources/leaves.js: |
| |
| * Animometer/tests/master/focus.html: Update the center element styling. |
| * Animometer/tests/master/resources/focus.js: |
| (FocusElement.Utilities.createClass): Give enough space in the container for each particle for the blur |
| to spread. It should be about 3x more space than the blur radius on each side. |
| (Stage.call.initialize): Ditto for the center element. |
| |
| 2016-03-23 Jon Lee <jonlee@apple.com> |
| |
| Update support for other platforms |
| https://bugs.webkit.org/show_bug.cgi?id=155824 |
| |
| Reviewed by Simon Fraser. |
| |
| * Animometer/resources/debug-runner/animometer.css: Remove extraneous media query. All of it should |
| be handled in the release stylesheet. |
| * Animometer/resources/debug-runner/animometer.js: Add support for browsers that return an HTMLCollection |
| when retrieving radio elements with a name, instead of the selected value. |
| * Animometer/resources/runner/animometer.css: Adjust the queries for devices of varying widths. |
| (.frame-container): Move overflow:hidden to #stage. |
| * Animometer/tests/master/resources/stage.css: Consolidate into tests/resources/stage.css. |
| * Animometer/tests/resources/stage.css: |
| (body): Remove overflow:hidden. |
| (#stage): Set overflow:hidden here. |
| (#center-text): Moved from master/resources/stage.css. |
| |
| Update stylesheet hrefs. |
| * Animometer/tests/master/canvas-stage.html: |
| * Animometer/tests/master/focus.html: |
| * Animometer/tests/master/leaves.html: |
| * Animometer/tests/master/multiply.html: |
| * Animometer/tests/master/particles.html: |
| * Animometer/tests/master/text.html: Adjust text size to fit in the device screen. |
| |
| 2016-03-23 Jon Lee <jonlee@apple.com> |
| |
| Make the benchmark require device to be in landscape orientation |
| https://bugs.webkit.org/show_bug.cgi?id=155822 |
| rdar://problem/25258650 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Check that the device is in landscape orientation. If not, disable the button to start it, |
| and show a warning message. |
| |
| * Animometer/developer.html: Add a message about how the browser should be set up. Include a |
| warning message that appears if the orientation is incorrect on mobile devices. |
| * Animometer/index.html: Ditto. |
| |
| * Animometer/resources/debug-runner/animometer.css: Migrate the .hidden rule into the release |
| stylesheet. Update the style to accommodate the new UI. |
| * Animometer/resources/runner/animometer.css: |
| |
| * Animometer/resources/runner/animometer.js: |
| (window.benchmarkController.initialize): Add the orientation listener is needed. |
| (window.benchmarkController.addOrientationListenerIfNecessary): Only mobile devices need this. Check |
| to see for support of window.orientation. |
| (window.benchmarkController._orientationChanged): Toggle the warning based on whether we match the |
| landscape query. Set a state variable, which is needed for the debug harness. Call updateStartButtonState. |
| (window.benchmarkController.updateStartButtonState): |
| * Animometer/resources/debug-runner/animometer.js: Change _updateStartButtonState to return |
| a boolean about whether at least one test is selected. That will be used in |
| benchmarkController.updateStartButtonState(). Move the load event listener to the release version. |
| (window.benchmarkController.updateStartButtonState): Override the release version, and also check |
| that at least one test is selected. |
| |
| 2016-03-22 Geoffrey Garen <ggaren@apple.com> |
| |
| MallocBench: consolidate regression testing for aligned allocation |
| https://bugs.webkit.org/show_bug.cgi?id=155762 |
| |
| Reviewed by Michael Saboff. |
| |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: |
| * MallocBench/MallocBench/Benchmark.cpp: |
| * MallocBench/MallocBench/memalign.cpp: Removed. |
| * MallocBench/MallocBench/memalign.h: Removed. The stress_aligned test |
| covers this and much more. |
| |
| * MallocBench/MallocBench/stress_aligned.cpp: |
| (benchmark_stress_aligned): Include specific tests for extreme sizes |
| and alignments. |
| |
| 2016-03-21 Jon Lee <jonlee@apple.com> |
| |
| Update benchmark tests |
| https://bugs.webkit.org/show_bug.cgi?id=155723 |
| |
| Reviewed by Darin Adler. |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| Add quadratic and bezier segments to the canvas path test. |
| |
| * Animometer/resources/runner/tests.js: Some of the query strings are unnecessary. |
| Rename the test. |
| * Animometer/tests/master/resources/canvas-stage.js: |
| (tune): Update to be able to take an array of possible constructors. Choose one randomly. |
| * Animometer/tests/master/resources/canvas-tests.js: |
| (CanvasLinePoint.Utilities.createClass): Move the point selection out to a separate |
| function called randomPoint() for reuse. Move X_LOOPS, Y_LOOPS, and offsets into the |
| class definition. |
| (randomPoint): Scale the grid down a little bit so that the lines along the edge of the |
| canvas are not cut off when the stroke size is thick. |
| (CanvasQuadraticSegment): Added. |
| (CanvasBezierSegment): Added. |
| (SimpleCanvasStage): Pass in an array of the different segment types. Since line segments |
| are short compared to the curved ones, make it twice as likely to render a line segment. |
| (SimpleCanvasStage.animate): Update the drawing code so that we render all line segments. |
| |
| Add a helper method that selects a random element from an array. |
| |
| * Animometer/tests/resources/main.js: |
| (Stage.randomElementInArray): Select a random element from the provided array. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-tagged-images.js: Refactor. |
| * Animometer/tests/dom/resources/leaves.js: Ditto. |
| * Animometer/tests/master/resources/dom-particles.js: Ditto. |
| * Animometer/tests/master/resources/image-data.js: Ditto. |
| * Animometer/tests/master/resources/leaves.js: Ditto. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: Ditto. |
| |
| Add canvas tests that includes all stroke and fill paths. This makes it possible to avoid having to |
| include the full simple canvas suite for perf testing. |
| |
| * Animometer/resources/debug-runner/tests.js: Add new tests. Move the canvas test into the Canvas |
| suite. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: Add a CanvasStroke and CanvasFill particle |
| that random selects an object to render. |
| |
| * Animometer/resources/debug-runner/tests.js: Move 3D suite before basic canvas suite. |
| When updating the perf bot script, we will include the suites up to this one, but exclude |
| the basic canvas suite. |
| |
| Move compositing transforms test to HTML suite and remove the empty Miscellaneous suite. |
| |
| * Animometer/resources/debug-runner/tests.js: |
| * Animometer/tests/dom/compositing-transforms.html: Renamed from PerformanceTests/Animometer/tests/misc/compositing-transforms.html. |
| * Animometer/tests/dom/resources/compositing-transforms.js: Renamed from PerformanceTests/Animometer/tests/misc/resources/compositing-transforms.js. |
| |
| Clean up miscellaneous test suite. Add a canvas ellipse test, and remove the other |
| canvas tests. |
| |
| * Animometer/resources/debug-runner/tests.js: Add ellipse tests to the simple suite. |
| * Animometer/tests/misc/canvas-electrons.html: Removed. |
| * Animometer/tests/misc/canvas-stars.html: Removed. |
| * Animometer/tests/misc/resources/canvas-electrons.js: Removed. |
| * Animometer/tests/misc/resources/canvas-stars.js: Removed. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: Add ellipse primitives. |
| |
| Merge text tests together into one. |
| |
| * Animometer/resources/runner/tests.js: Remove international.html. |
| * Animometer/tests/master/international.html: Removed. |
| * Animometer/tests/master/resources/text.js: |
| (animate): Update styling. Manually calculate gradients for the shadow particles. |
| Reduce the step size for y direction to avoid cutting text off at the margins. Increase |
| step for x since there will be a little more room. |
| * Animometer/tests/master/text.html: Add more translations and lay it out in a table. |
| |
| 2016-03-20 Jon Lee <jonlee@apple.com> |
| |
| Add a link to show debug data |
| https://bugs.webkit.org/show_bug.cgi?id=155724 |
| |
| Reviewed by Simon Fraser. |
| |
| * Animometer/developer.html: Attach the onclick handler to the score. |
| * Animometer/index.html: Ditto. |
| |
| 2016-03-18 Dean Jackson <dino@apple.com> |
| |
| Add a basic WebGL test to Animometer |
| https://bugs.webkit.org/show_bug.cgi?id=155475 |
| <rdar://problem/25156860> |
| |
| Reviewed by Simon Fraser and Jon Lee. |
| |
| Add a pretty simple WebGL test to Animometer |
| which tries to draw a number of animated triangles. |
| The result still needs a bit of tuning. |
| |
| * Animometer/resources/debug-runner/tests.js: Add a new |
| Suite for "3D" tests. |
| * Animometer/tests/3d/resources/webgl.js: Added. |
| * Animometer/tests/3d/webgl.html: Added. |
| |
| 2016-03-18 Jon Lee <jonlee@apple.com> |
| |
| Add support for statically linking to a specific test |
| https://bugs.webkit.org/show_bug.cgi?id=155631 |
| |
| Rubber-stamped by Darin Adler. |
| |
| * Animometer/developer.html: Update to call restartBenchmark instead so that it works for |
| both the preset and the manually set test sessions. |
| * Animometer/resources/debug-runner/animometer.css: |
| (.tree .link): Style the "link" UI. |
| * Animometer/resources/debug-runner/animometer.js: Move updateDisplay from suitesManager |
| to optionsManager since this is a visual option and has nothing to do with the suites |
| settings. Update the construction of the test UI by including a "link" after each test. |
| Clicking on that link brings up a JS prompt with a URL and a query string with the current |
| parameters of the controller, and selected test. Pasting this URL into the location bar will |
| automatically start running the selected test. |
| (suitesManager.suitesFromQueryString): Iterate through the Suites and tests and find the one |
| that matches the provided parameters. Returns an object similar to the form in |
| suitesManager.updateLocalStorageFromUI. |
| (benchmarkController.initialize): After settings up the events and options, try parsing the |
| query string and running the benchmark immediately. Otherwise, fall back to the form. |
| (benchmarkController.startBenchmark): Store the options and suites into member variables for |
| reuse in restartBenchmark. |
| (benchmarkController.startBenchmarkImmediatelyIfEncoded): Convert the query string to an object. |
| If that's successful, find the suite and test referenced in the query string. Start the benchmark if |
| the search for the test succeeded. |
| * Animometer/resources/extensions.js: |
| (Utilities.stripNonASCIICharacters): Helper method to convert the name of the suite and test |
| into a query-string-friendly version. |
| (Utilities.convertObjectToQueryString): Helper method to convert an object to query string |
| format. |
| (Utilities.convertQueryStringToObject): Helper method to convert query string into an object |
| with properties and values. |
| |
| 2016-03-16 Jon Lee <jonlee@apple.com> |
| |
| Add a new benchmark test |
| https://bugs.webkit.org/show_bug.cgi?id=155570 |
| |
| Reviewed by Simon Fraser. |
| |
| New Leaves test includes various image sizes and opacity. |
| |
| * Animometer/resources/debug-runner/tests.js: Add it to the HTML test suite. |
| * Animometer/tests/dom/leaves.html: Added. |
| * Animometer/tests/dom/resources/leaves.js: Added. Override the |
| (Particle.call.reset): Uses a range of sizes, and opacity. |
| (Particle.call.animate): Opacity goes up then down. When it hits 0, reset the particle. |
| (Particle.call.move): Set transform and opacity. |
| * Animometer/tests/master/resources/leaves.js: Get rid of the closure so that it |
| can be used in this test. Update the relative path so that it works in both the master |
| and dom test suite. |
| |
| 2016-03-15 Simon Fraser <simon.fraser@apple.com> |
| |
| Add developer Animometer test that bounces P3-tagged images |
| https://bugs.webkit.org/show_bug.cgi?id=155511 |
| |
| Reviewed by Tim Horton. |
| |
| Add a test for rendering performance of tagged images. The 5 images are tagged |
| with the Display P3 colorspace. |
| |
| * Animometer/resources/debug-runner/tests.js: |
| * Animometer/tests/bouncing-particles/bouncing-tagged-images.html: Added. |
| * Animometer/tests/bouncing-particles/resources/bouncing-tagged-images.js: Added. |
| * Animometer/tests/bouncing-particles/resources/image1.jpg: Added. |
| * Animometer/tests/bouncing-particles/resources/image2.jpg: Added. |
| * Animometer/tests/bouncing-particles/resources/image3.jpg: Added. |
| * Animometer/tests/bouncing-particles/resources/image4.jpg: Added. |
| * Animometer/tests/bouncing-particles/resources/image5.jpg: Added. |
| |
| 2016-03-09 Jon Lee <jonlee@apple.com> |
| |
| Enhance existing Animometer tests |
| https://bugs.webkit.org/show_bug.cgi?id=155261 |
| |
| Reviewed by Simon Fraser. |
| |
| * Animometer/tests/master/resources/canvas-tests.js: Add a gradient to |
| the filled circles. To expose more of the gradient, add another circle. |
| (SimpleCanvasStage.call.animate): For each frame, create a gradient with |
| undulating stop points and colors. Fill the circles twice; once with |
| the solid color, and once with the gradient. |
| |
| * Animometer/tests/master/resources/dom-particles.js: Refactor the |
| emission variables into a separate stage for this test. Add a colorOffset |
| variable to make the colors of each particle slightly different, since |
| the ramp controller can add large numbers of particles all at once, which |
| would otherwise get all the same color. |
| * Animometer/tests/master/resources/particles.js: |
| (initialize): Remove the code specific to the SVG mask test. |
| |
| * Animometer/tests/master/resources/image-data.js: |
| (initialize): Remove unused local variable. |
| * Animometer/tests/master/resources/multiply.js: |
| (initialize): Make the test harder by adding more total particles. |
| |
| 2016-03-09 Jon Lee <jonlee@apple.com> |
| |
| Add text tests |
| https://bugs.webkit.org/show_bug.cgi?id=155257 |
| |
| Reviewed by Simon Fraser. |
| |
| * Animometer/resources/extensions.js: |
| (UnitBezier.Utilities.createClass): Add a class that computes Bezier points |
| assuming that two of the control points are at (0,0) and (1,1). Taken from |
| WebCore/platform/graphics/UnitBezier.h |
| * Animometer/resources/runner/tests.js: Add a test for English text and one |
| for international text. |
| * Animometer/tests/master/international.html: Added. |
| * Animometer/tests/master/resources/text.js: Added. The test assumes there is |
| #template div which it will copy. The copies are placed behind the template, and |
| are set with different colors each frame. They are moved around with CSS transform. |
| * Animometer/tests/master/text.html: Added. |
| |
| Remove the other text tests, since these ones cover the same techniques. |
| * Animometer/tests/text/layering-text.html: Removed. |
| * Animometer/tests/text/resources/layering-text.js: Removed. |
| * Animometer/tests/text/resources/text-boxes.js: Removed. |
| * Animometer/tests/text/text-boxes.html: Removed. |
| * Animometer/resources/debug-runner/tests.js: |
| |
| 2016-03-09 Jon Lee <jonlee@apple.com> |
| |
| Add a new image test |
| https://bugs.webkit.org/show_bug.cgi?id=155232 |
| |
| Reviewed by Dean Jackson. |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| The image test renders PNGs and moves them with translate and rotate |
| transforms. Each particle has a lifetime, and when the lifetime ends or |
| the particle goes offscreen, it resets itself somewhere on the stage. |
| |
| * Animometer/resources/debug-runner/tests.js: Remove the CSS bouncing PNG |
| images test, because this one tests the same technique. |
| * Animometer/resources/runner/tests.js: Added here as "Leaves". |
| * Animometer/tests/master/leaves.html: Added. |
| * Animometer/tests/master/resources/particles.js: Refactor out the parts |
| specific to the DOM particles test. Consequently make velocity a public |
| member. |
| (initialize): The options parameter is never used, so remove it. |
| (animate): Remove unused local variable. |
| * Animometer/tests/master/resources/leaves.js: Maintains a focal point that |
| moves back and forth across the canvas. That point affects the velocity |
| of the particles. When the focal point is on the leftmost side, it is |
| between [-6, -2], and set in reset(). When the focal point is on the rightmost |
| side, it will be from [2, 6]. |
| * Animometer/tests/master/resources/dom-particles.js: Move JS specific to |
| this test here from particles.js. |
| |
| New images. |
| * Animometer/tests/master/resources/compass100.png: Added. |
| * Animometer/tests/master/resources/console100.png: Added. |
| * Animometer/tests/master/resources/contribute100.png: Added. |
| * Animometer/tests/master/resources/debugger100.png: Added. |
| * Animometer/tests/master/resources/inspector100.png: Added. |
| * Animometer/tests/master/resources/layout100.png: Added. |
| * Animometer/tests/master/resources/performance100.png: Added. |
| * Animometer/tests/master/resources/script100.png: Added. |
| * Animometer/tests/master/resources/shortcuts100.png: Added. |
| * Animometer/tests/master/resources/standards100.png: Added. |
| * Animometer/tests/master/resources/storage100.png: Added. |
| * Animometer/tests/master/resources/styles100.png: Added. |
| * Animometer/tests/master/resources/timeline100.png: Added. |
| |
| 2016-03-03 Jon Lee <jonlee@apple.com> |
| |
| Add ability to retrieve raw data from release harness |
| https://bugs.webkit.org/show_bug.cgi?id=155026 |
| |
| Reviewed by Simon Fraser. |
| |
| * Animometer/developer.html: Remove the special UI in the debug |
| harness. |
| * Animometer/resources/runner/animometer.css: Add styles for the |
| overlay. |
| * Animometer/resources/runner/animometer.js: Let 'j' show the JSON |
| results, but only if the overlay doesn't exist. Add 'esc' key to dismiss |
| the overlay. |
| (window.benchmarkController.selectResults): Cycle the cases around |
| so that the first 's' press selects both the benchmark score and |
| the individual test scores. |
| * Animometer/resources/debug-runner/animometer.css: Remove |
| unneeded rules. |
| * Animometer/resources/debug-runner/animometer.js: Make the same |
| call to handleKeyPress. |
| |
| 2016-03-03 Jon Lee <jonlee@apple.com> |
| |
| Make sure multiply test particles have at least some opacity |
| https://bugs.webkit.org/show_bug.cgi?id=155027 |
| |
| Reviewed by Simon Fraser. |
| |
| * Animometer/tests/master/resources/multiply.js: |
| (initialize): Have the elements spin a little faster to make it |
| more obvious when the system is being stressed. |
| (_addTile): |
| (animate): Make sure each element being animated has at least 1% |
| opacity. |
| |
| 2016-03-03 Jon Lee <jonlee@apple.com> |
| |
| Update image test |
| https://bugs.webkit.org/show_bug.cgi?id=154962 |
| |
| Rubber-stamped by Darin Adler. |
| |
| * Animometer/tests/master/image-data.html: Make each canvas have a compositing layer. |
| * Animometer/tests/master/resources/image-data.js: |
| (initialize): Update to load multiple images serially. |
| (_loadImage): |
| (tune): Use display instead of visibility. When showing an element anew, move it somewhere else. |
| (_createTestElement): Set up the element, refactor out placement of element to _refreshElement. |
| (_refreshElement): Place element in a tile grid. |
| (animate): |
| (_getRandomNeighboringPixelIndex): Use a more conservative distribution to make the effect last a little longer. |
| * Animometer/tests/master/resources/compass.svg: Added. |
| * Animometer/tests/master/resources/console.svg: Added. |
| * Animometer/tests/master/resources/contribute.svg: Added. |
| * Animometer/tests/master/resources/debugger.svg: Added. |
| * Animometer/tests/master/resources/inspector.svg: Added. |
| * Animometer/tests/master/resources/layout.svg: Added. |
| * Animometer/tests/master/resources/performance.svg: Added. |
| * Animometer/tests/master/resources/script.svg: Added. |
| * Animometer/tests/master/resources/shortcuts.svg: Added. |
| * Animometer/tests/master/resources/standards.svg: Added. |
| * Animometer/tests/master/resources/storage.svg: Added. |
| * Animometer/tests/master/resources/styles.svg: Added. |
| * Animometer/tests/master/resources/timeline.svg: Added. |
| |
| 2016-03-02 Jon Lee <jonlee@apple.com> |
| |
| Add some new controllers, and refine tests |
| https://bugs.webkit.org/show_bug.cgi?id=154914 |
| |
| Reviewed by Simon Fraser. |
| |
| Improve tests. |
| |
| * Animometer/tests/master/focus.html: Move each particle into a layer. Put the particle |
| in a container element. Expand the container element by the max blur radius, and clip |
| overflow. This way, when the blur is applied, it avoids causing layer resizes. |
| * Animometer/tests/master/resources/focus.js: |
| (FocusElement.Utilities.createClass): Create a container element, and put the particle |
| inside. |
| (hide): Set display:none. |
| (show): Set display:block. |
| (animate): Apply filters to the container element. |
| (FocusStage.call.initialize): Instead of inserting and removing elements from the DOM, |
| keep them in the stage, but set the display style instead. Use this._offsetIndex to |
| keep track of which elements are displayed. |
| (FocusStage.call.animate): Move some calculations around to avoid doing unneeded math. |
| (FocusStage.call.getBlurValue): Make sure elements are always blurred. |
| (FocusStage.call.getOpacityValue): Make sure elements have some opacity. |
| * Animometer/tests/master/resources/multiply.js: Have the particles on the edge of the |
| stage appear less black when the complexity gets large enough. |
| (tune): Have this._distanceFactor calculate the factor. Avoid calculating square root each |
| frame. |
| |
| 2016-03-02 Jon Lee <jonlee@apple.com> |
| |
| Add some new controllers, and refine tests |
| https://bugs.webkit.org/show_bug.cgi?id=154914 |
| |
| Reviewed by Simon Fraser. |
| |
| Add a controller that centers around 30 fps instead of 60 fps. |
| |
| * Animometer/developer.html: Add a new option. |
| * Animometer/resources/debug-runner/animometer.js: |
| * Animometer/resources/runner/animometer.js: |
| (this._processData.findRegression): When calculating the complexity-frameLength regression, |
| check the controller, and use a 30 fps baseline if needed. |
| * Animometer/resources/statistics.js: |
| (Regression.Utilities.createClass): Update to allow clients to specify the baseline |
| frame length. |
| * Animometer/tests/resources/main.js: |
| (tune): Override some of the constants in RampController. Move those constants out for |
| easier reading. |
| |
| Add a fixed controller, with no step. |
| |
| * Animometer/developer.html: Add a controller that takes no step. |
| * Animometer/resources/debug-runner/animometer.js: |
| * Animometer/tests/resources/main.js: |
| (Rotater.Utilities.createClass): |
| |
| Switch to ramp controller as default. |
| |
| * Animometer/developer.html: Increase the test length to 20 seconds. |
| * Animometer/resources/debug-runner/animometer.js: Rename the "adjustment" field to "controller" |
| since that is a more accurate description. |
| * Animometer/resources/debug-runner/graph.js: |
| * Animometer/resources/runner/animometer.js: Update preferences for release suite. |
| |
| 2016-02-26 Jon Lee <jonlee@apple.com> |
| |
| Address Dean's comments in 154673. |
| |
| * Animometer/developer.html: |
| * Animometer/resources/debug-runner/animometer.js: |
| * Animometer/resources/debug-runner/graph.js: |
| |
| 2016-02-25 Jon Lee <jonlee@apple.com> |
| |
| Update animation benchmark and tests |
| https://bugs.webkit.org/show_bug.cgi?id=154673 |
| |
| Reviewed by Dean Jackson. |
| |
| Update test visuals. |
| |
| * Animometer/tests/master/resources/canvas-tests.js: |
| (CanvasLineSegment.Utilities.createClass): Line segments near the edge of the stage get clipped. |
| Update circle position and radius to minimize impact. |
| * Animometer/tests/master/resources/particles.js: Get rid of rotating gradient background, and |
| have 3 locations for emitting particles. |
| * Animometer/tests/master/resources/multiply.js: Update distance metric so that fringe tiles get |
| more color. |
| (initialize): Fix some of the math for laying out the tiles. |
| (animate): When a tile isn't used, set visibility: hidden. |
| |
| 2016-02-24 Jon Lee <jonlee@apple.com> |
| |
| Update animation benchmark and tests |
| https://bugs.webkit.org/show_bug.cgi?id=154673 |
| |
| Reviewed by Dean Jackson. |
| |
| Update the ramp controller. |
| |
| The controller refines the complexity interval to test across. |
| |
| * Animometer/resources/statistics.js: Add functions that estimate cumulative distribution function. |
| (Regression): For the flat regression, force the first segment to be at 60 fps. |
| (valueAt): Add convenience function to return interpolated value based on the regression used. |
| (_calculateRegression): Include the number of points included for both segments, and the piecewise |
| errors. |
| * Animometer/tests/resources/math.js: Make the Kalman estimator subclass Experiment, and allow it |
| to be reset. |
| |
| * Animometer/tests/resources/main.js: Initialize the tier such that it starts at 10^0 = 1. |
| Increase the number of ramps. Maintain three FPS thresholds-- the frame rate of interest, a limit |
| on the lowest FPS we care to go for later interpolation, and a minimum FPS threshold we want to |
| aim for each ramp. Also keep three estimators: a running average of the change point, a minimum |
| boundary for each ramp, and an estimator for all the frames within an interval. The first two |
| are used to determine the parameters of the next ramp, and the latter allows us to refine the |
| parameters. |
| (update): During the tier phase, it is possible that the highest complexity possible for a test |
| won't stress the system enough to trigger stopping the tier phase and transitioning to the ramps. |
| If the complexity doesn't change when going to the next tier, we've maxed the test out, and move |
| on. When the tier phase completed, turn off Controller.frameLengthEstimator, which estimates the |
| FPS at each tier. |
| (tune): At each interval, look at the confidence distribution of being on the 60 FPS side or the |
| slow side. If the slowest FPS we achieve at the ramp's maximum complexity is not at least |
| _fpsRampSlowThreshold, then increase the maximum complexity. If we ever achieve 60 FPS, increase |
| the ramp's minimum complexity to that level. If, at an even lower complexity, a glitch causes the |
| FPS to drop, we reset the minimum complexity. |
| |
| Have the bootstrap calculation occur between tests. Clean up harness. |
| |
| * Animometer/resources/debug-runner/animometer.js: Run bootstrap after a test has |
| completed to avoid doing all of it at the end before showing the results. Clean up |
| parameters being passed around. |
| * Animometer/resources/debug-runner/tests.js: |
| (text): |
| * Animometer/resources/runner/animometer.js: |
| (this._processData.calculateScore): Save the results to the same object holding the data. |
| (this._processData._processData): In the case where a file is dragged, calculate the score |
| serially. Grab the results object and move it to the results variable and remove it from |
| the data object. This avoids serializing the results into the JSON. |
| (this._processData.findRegression): Include the samples used for bootstrapping. Reduce the |
| resample size to shorten the wait. |
| * Animometer/resources/runner/benchmark-runner.js: |
| * Animometer/resources/statistics.js: |
| (bootstrap): Update how bootstrapData is sorted. In some regression results the mix of |
| floats and integers causes an alphabetical sort to occur. |
| * Animometer/resources/strings.js: |
| |
| Add meta charset so that encodings between harness and test match. |
| |
| * Animometer/tests/bouncing-particles/bouncing-canvas-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html: |
| * Animometer/tests/bouncing-particles/bouncing-css-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-css-shapes.html: |
| * Animometer/tests/bouncing-particles/bouncing-svg-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-svg-shapes.html: |
| * Animometer/tests/master/canvas-stage.html: |
| * Animometer/tests/master/focus.html: |
| * Animometer/tests/master/image-data.html: |
| * Animometer/tests/master/multiply.html: |
| * Animometer/tests/master/particles.html: |
| * Animometer/tests/misc/canvas-electrons.html: |
| * Animometer/tests/misc/canvas-stars.html: |
| * Animometer/tests/misc/compositing-transforms.html: |
| * Animometer/tests/simple/simple-canvas-paths.html: |
| * Animometer/tests/simple/tiled-canvas-image.html: |
| * Animometer/tests/template/template-canvas.html: |
| * Animometer/tests/template/template-css.html: |
| * Animometer/tests/template/template-svg.html: |
| * Animometer/tests/text/layering-text.html: |
| * Animometer/tests/text/text-boxes.html: |
| |
| Update test harness reporting. |
| |
| * Animometer/developer.html: Add missing meta charset. |
| * Animometer/index.html: Remove unnecessary utf-8 declaration. |
| * Animometer/resources/debug-runner/animometer.css: Add convenience classes for |
| formatting the results table. |
| * Animometer/resources/debug-runner/animometer.js: Adjust which stats are shown. |
| * Animometer/resources/debug-runner/tests.js: Display bootstrapping statistics. |
| * Animometer/resources/strings.js: Move strings not used by the release harness. |
| |
| Switch to a pseudo-random number generator. |
| |
| * Animometer/resources/statistics.js: Add a Pseudo class, with a simple |
| pseudo-random number generator. |
| (_calculateRegression): Reset the generator before running bootstrap. |
| (bootstrap): Deleted. |
| |
| Replace Math.random with Pseudo.random. |
| * Animometer/tests/master/resources/canvas-tests.js: |
| * Animometer/tests/master/resources/focus.js: |
| * Animometer/tests/master/resources/particles.js: |
| * Animometer/tests/resources/main.js: |
| |
| Use bootstrapping to get confidence interval in the breakpoint. |
| |
| For the ramp controller, calculate the piecewise regression, and then use |
| bootstrapping in order to find the 95% confidence interval. Use the raw data. |
| |
| * Animometer/developer.html: Default to the complexity graph. Add a legend |
| checkbox to toggle visibility of the bootstrap score and histogram. |
| * Animometer/resources/debug-runner/animometer.css: Make some more space to show |
| the old raw and average scores in the legend. Add new styles for the data. |
| * Animometer/resources/debug-runner/graph.js: |
| (_addRegressionLine): Allow passing an array for the variance bar tied to the |
| regression line. Now |stdev| is |range|. |
| (createComplexityGraph): Add bootstrap median, and overlay a histogram of |
| the bootstrap samples. Switch raw samples from circles to X's. |
| (onComplexityGraphOptionsChanged): Allow toggling of the bootstrap data. |
| (onGraphTypeChanged): Move the regressions for the raw and average samples to the |
| legend. In the subtitle use the bootstrap median, and include the 95% confidence |
| interval. |
| * Animometer/resources/runner/animometer.js: |
| (this._processData.findRegression): Factor out the code that determines which |
| samples to include when calculating the piecewise regression. For series that have |
| many samples, or a wider range of recorded complexities, throw away the 2.5% |
| lowest and highest samples before calculating the regression. Keep all samples |
| if the number of samples to regress is small or the range of complexities is |
| narrow. |
| (this._processData._calculateScore): Factor out regression calculation to |
| findRegression(). Bootstrap the change point of the regression. The score is the |
| median. |
| * Animometer/resources/statistics.js: |
| (_calculateRegression): Correct an issue in the calculation of the regression, where |
| the denominator can be 0. |
| (bootstrap): Template for bootstrapping. Create a bootstrap sample array, Create |
| re-samples by random selection with replacement. Return the 95% confidence samples, |
| the bootstrap median, mean, and the data itself. |
| * Animometer/resources/strings.js: Add bootstrap. |
| * Animometer/tests/resources/main.js: |
| (processSamples): Don't prematurely cut the sample data. |
| |
| Fix graph drawing. |
| |
| * Animometer/resources/debug-runner/animometer.js: Add spacing in the JSON output. |
| Multiple tests output a lot of JSON and can hang when selecting JSON with no whitespace. |
| * Animometer/resources/debug-runner/animometer.css: |
| (#complexity-graph .series.raw circle): Update the color. |
| * Animometer/resources/debug-runner/graph.js: Use the FPS axis instead of the |
| complexity axis, which can vary in domain. For determining the complexity domain, |
| only use samples after samplingTimeOffset. |
| |
| Allow dropping results JSON. |
| |
| * Animometer/developer.html: Add a button. |
| * Animometer/resources/debug-runner/animometer.css: |
| * Animometer/resources/debug-runner/animometer.js: Read the data and go straight |
| to the dashboard. With JSON output, write out only the options and the raw data. |
| |
| Teach the harness to evaluate the samples and determine the test score. |
| |
| This will allow us to update how the score is calculated separately from the samples recorded. |
| This also prepares the harness to be able to accept JSON of prior runs. |
| |
| * Animometer/resources/strings.js: Clean up and remove unneeded strings and reduce some of the |
| hierarchy. |
| * Animometer/resources/debug-runner/tests.js: Update to use the new strings. |
| |
| * Animometer/tests/resources/main.js: Allow all controllers to show a complexity-FPS graph. |
| (_processComplexitySamples): Factor out some of the sample processing done in the ramp |
| controller for the benefit of the other controllers. |complexitySamples| contains a list of |
| samples. Sort the samples by complexity. Optionally remove the top x% of samples. |
| Group them, and calculate distribution of samples within the same complexity, and add those as |
| new entries into |complexityAverageSamples|. |
| (Controller.processSamples): Move the code responsible for determining the complexity and FPS |
| scores out to ResultsDashboard. The structure of the data returned by the controller is: |
| |
| { |
| controller: [time-regression, time-regression, ...], // optional, data specific to controller |
| marks: [...], |
| samples: { // all of the sample data |
| controller: [...], |
| complexity: [...], // processed from controller samples |
| complexityAverage: [...], // processed from complexity samples |
| } |
| } |
| |
| (AdaptiveController.processSamples): Adding the target frame length is no longer necessary; we |
| now pass the test options to the graph. |
| (Regression): Move to statistics.js. |
| * Animometer/resources/statistics.js: Move Regression to here. Add a check if the sampling range |
| only contains one sample, since we cannot calculate a regression from one sample point. |
| |
| Teach the test harness to evaluate the data. |
| * Animometer/resources/runner/animometer.js: |
| (ResultsDashboard): Store the options used to run the test and the computed results/score separately |
| from the data. The results are stored as: |
| |
| { |
| score: /* geomean of iteration score */, |
| iterationsResults: [ |
| { |
| score: /* geomean of tests */, |
| testsResults: { |
| suiteName: { |
| testName: { |
| controller: { |
| average: |
| concern: |
| stdev: |
| percent: |
| }, |
| frameLength: { ... }, |
| complexity: { |
| complexity: |
| stdev: |
| segment1: |
| segment2: |
| }, |
| complexityAverage: { ... } |
| }, |
| testName: { ... }, |
| }, |
| ... next suite ... |
| } |
| }, |
| { ...next iteration... } |
| ] |
| } |
| |
| * Animometer/resources/debug-runner/animometer.js: Pass options around instead of relying |
| on what was selected in the form. This will later allow for dropping previous results, and |
| using those runs' options when calculating scores. |
| (ResultsTable._addGraphButton): Simplify button action by using attached test data. |
| * Animometer/resources/debug-runner/graph.js: Refactor to use the data. |
| |
| Consolidate JS files, and move statistics out to a separate JS. |
| |
| Preparation for having the Controller only handle recording and storage of the samples, |
| and leave the evaluation of the test score out to the harness. Move Experiment to |
| a new statistics.js, where Regression will also eventually go. Get rid of algorithm.js |
| and move it to utilities.js since the Heap is used only for Experiments. |
| |
| * Animometer/tests/resources/algorithm.js: Removed. Heap is in utilities.js. |
| * Animometer/tests/resources/sampler.js: Removed. Experiment is in statistics.js, |
| Sampler in main.js. |
| * Animometer/tests/resources/main.js: Move Sampler here. |
| * Animometer/resources/statistics.js: Added. Move Statistics and Experiment here. |
| * Animometer/resources/extensions.js: Move Heap here. Attach static method to create |
| a max or min heap to Heap, instead of a new Algorithm object. |
| |
| Update JS files. |
| * Animometer/developer.html: |
| * Animometer/index.html: |
| * Animometer/tests/bouncing-particles/bouncing-canvas-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html: |
| * Animometer/tests/bouncing-particles/bouncing-css-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-css-shapes.html: |
| * Animometer/tests/bouncing-particles/bouncing-svg-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-svg-shapes.html: |
| * Animometer/tests/master/canvas-stage.html: |
| * Animometer/tests/master/focus.html: |
| * Animometer/tests/master/image-data.html: |
| * Animometer/tests/master/multiply.html: |
| * Animometer/tests/master/particles.html: |
| * Animometer/tests/misc/canvas-electrons.html: |
| * Animometer/tests/misc/canvas-stars.html: |
| * Animometer/tests/misc/compositing-transforms.html: |
| * Animometer/tests/simple/simple-canvas-paths.html: |
| * Animometer/tests/simple/tiled-canvas-image.html: |
| * Animometer/tests/template/template-canvas.html: |
| * Animometer/tests/template/template-css.html: |
| * Animometer/tests/template/template-svg.html: |
| * Animometer/tests/text/layering-text.html: |
| * Animometer/tests/text/text-boxes.html: |
| |
| Fix the cursor in the graph analysis when the min |
| complexity is not 0. |
| |
| * Animometer/resources/debug-runner/graph.js: |
| (_addRegression): |
| (createComplexityGraph): |
| |
| 2016-02-23 Geoffrey Garen <ggaren@apple.com> |
| |
| Fix some issues in MallocBench |
| https://bugs.webkit.org/show_bug.cgi?id=154600 |
| |
| Reviewed by Oliver Hunt. |
| |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: Make nimlang.ops |
| a part of the build so that it copies to the right place for execution. |
| |
| * MallocBench/MallocBench/Interpreter.cpp: |
| (Interpreter::Interpreter): Don't try to open .ops files for writing |
| because we're only going to read and we might need extra permissions to |
| write. |
| |
| (Interpreter::~Interpreter): Give more context when opening a file fails |
| to help with debugging. |
| |
| * MallocBench/MallocBench/stress.cpp: |
| (benchmark_stress): Reduce iterations to complete in less than 10 seconds. |
| |
| 2016-02-23 Michael Saboff <msaboff@apple.com> |
| |
| Unreviewed change to revert extraneous changes made part of change set 196955. |
| |
| * MallocBench/MallocBench/Interpreter.cpp: |
| (Interpreter::doMallocOp): |
| (Interpreter::Thread::switchTo): |
| (writeData): Deleted. |
| |
| 2016-02-19 Michael Saboff <msaboff@apple.com> |
| |
| MallocBench: Added recording for nimlang website, new recording details and added new options |
| https://bugs.webkit.org/show_bug.cgi?id=154485 |
| |
| Reviewed by Geoff Garen. |
| |
| Added new capabilities to MallocBench. These include: |
| Added a recording of http://nim-lang.org/docs/lib.html. |
| Added thread id to the recording and the ability to playback switching threads in MallocBench |
| Added aligned allocations to recordings and the ability to playback |
| Added --use-thread-id option to honor recorded thread ids |
| Added --detailed-report to output remaining allocations by size after playback |
| Added --no-warmup to not run the warm up iteration |
| |
| Changed the way that options are passed down to the benchmarks. Instead of passing individual |
| boolean or numeric option values, just pass a reference the CommandLine itself. Each benchmark |
| can access the options that are appropriate. The Benchmark class also uses the options for |
| is parallel, run counts and warm up. |
| |
| Added thread id and aligned malloc to the Op by noticing that structure padding and Opcode allowed |
| for another 32 bits of data. Breaking that unused 32 bits into a 16 bit thread id value and a |
| 16 bit log base 2 of the alignment for aligned malloc allowed for existing recordings to playback |
| without any incompatibilities. |
| |
| Threaded operation is simulated by creating threads as needed. As long as the next Op's thread id |
| is the same as the last, operation continues as normal. When the next Op has a different thread id, |
| we switch to that thread using the shared Op stream to continue playing back. There is a mutex to |
| assure that only one thread is really running at a time and a condition variable used to wait |
| that the current thread id matches each block thread's thread id. This doesn't simulate true |
| concurrent threading, but is instead plays back Ops recorded for multiple thread faithfully. |
| |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: |
| * MallocBench/MallocBench/Benchmark.cpp: |
| (deallocateHeap): |
| (Benchmark::Benchmark): |
| (Benchmark::runOnce): |
| (Benchmark::run): |
| * MallocBench/MallocBench/Benchmark.h: |
| (Benchmark::isValid): |
| * MallocBench/MallocBench/CommandLine.cpp: |
| (CommandLine::printUsage): |
| * MallocBench/MallocBench/CommandLine.h: |
| (CommandLine::isValid): |
| (CommandLine::benchmarkName): |
| (CommandLine::isParallel): |
| (CommandLine::useThreadID): |
| (CommandLine::detailedReport): |
| (CommandLine::warmUp): |
| (CommandLine::heapSize): |
| (CommandLine::runs): |
| * MallocBench/MallocBench/Interpreter.cpp: |
| (Interpreter::Interpreter): |
| (Interpreter::run): |
| (Interpreter::readOps): |
| (Interpreter::doOnSameThread): |
| (Interpreter::switchToThread): |
| (Interpreter::detailedReport): |
| (compute2toPower): |
| (writeData): |
| (Interpreter::doMallocOp): |
| (Interpreter::Thread::Thread): |
| (Interpreter::Thread::stop): |
| (Interpreter::Thread::~Thread): |
| (Interpreter::Thread::runThread): |
| (Interpreter::Thread::waitToRun): |
| (Interpreter::Thread::switchTo): |
| * MallocBench/MallocBench/Interpreter.h: |
| (Interpreter::Thread::isMainThread): |
| * MallocBench/MallocBench/alloc_free.cpp: Added. |
| (benchmark_alloc_free): |
| * MallocBench/MallocBench/alloc_free.h: Added. |
| * MallocBench/MallocBench/balloon.cpp: |
| (benchmark_balloon): |
| * MallocBench/MallocBench/balloon.h: |
| * MallocBench/MallocBench/big.cpp: |
| (benchmark_big): |
| * MallocBench/MallocBench/big.h: |
| * MallocBench/MallocBench/churn.cpp: |
| (benchmark_churn): |
| * MallocBench/MallocBench/churn.h: |
| * MallocBench/MallocBench/facebook.cpp: |
| (benchmark_facebook): |
| * MallocBench/MallocBench/facebook.h: |
| * MallocBench/MallocBench/flickr.cpp: |
| (benchmark_flickr): |
| (benchmark_flickr_memory_warning): |
| * MallocBench/MallocBench/flickr.h: |
| * MallocBench/MallocBench/fragment.cpp: |
| (validate): |
| (benchmark_fragment): |
| (benchmark_fragment_iterate): |
| * MallocBench/MallocBench/fragment.h: |
| * MallocBench/MallocBench/list.cpp: |
| (benchmark_list_allocate): |
| (benchmark_list_traverse): |
| * MallocBench/MallocBench/list.h: |
| * MallocBench/MallocBench/main.cpp: |
| (main): |
| * MallocBench/MallocBench/medium.cpp: |
| (benchmark_medium): |
| * MallocBench/MallocBench/medium.h: |
| * MallocBench/MallocBench/memalign.cpp: |
| (test): |
| (benchmark_memalign): |
| * MallocBench/MallocBench/memalign.h: |
| * MallocBench/MallocBench/message.cpp: |
| (benchmark_message_one): |
| (benchmark_message_many): |
| * MallocBench/MallocBench/message.h: |
| * MallocBench/MallocBench/nimlang.cpp: Added. |
| (benchmark_nimlang): |
| * MallocBench/MallocBench/nimlang.h: Added. |
| * MallocBench/MallocBench/nimlang.ops: Added. |
| * MallocBench/MallocBench/realloc.cpp: |
| (benchmark_realloc): |
| * MallocBench/MallocBench/realloc.h: |
| * MallocBench/MallocBench/reddit.cpp: |
| (benchmark_reddit): |
| (benchmark_reddit_memory_warning): |
| * MallocBench/MallocBench/reddit.h: |
| * MallocBench/MallocBench/stress.cpp: |
| (deallocate): |
| (benchmark_stress): |
| * MallocBench/MallocBench/stress.h: |
| * MallocBench/MallocBench/stress_aligned.cpp: |
| (benchmark_stress_aligned): |
| * MallocBench/MallocBench/stress_aligned.h: |
| * MallocBench/MallocBench/theverge.cpp: |
| (benchmark_theverge): |
| (benchmark_theverge_memory_warning): |
| * MallocBench/MallocBench/theverge.h: |
| * MallocBench/MallocBench/tree.cpp: |
| (benchmark_tree_allocate): |
| (benchmark_tree_traverse): |
| (benchmark_tree_churn): |
| * MallocBench/MallocBench/tree.h: |
| * MallocBench/run-malloc-benchmarks: |
| |
| 2016-02-11 Jon Lee <jonlee@apple.com> |
| |
| Fix a missing refactoring. |
| |
| * Animometer/tests/master/resources/multiply.js: |
| (animate): Move to Utilities.lerp. |
| (_lerp): Deleted. |
| |
| 2016-02-10 Jon Lee <jonlee@apple.com> |
| |
| Add new benchmark tests. |
| https://bugs.webkit.org/show_bug.cgi?id=154063 |
| |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| Add tests for get/put image data, filters, opacity, and css transforms. |
| |
| * Animometer/resources/runner/benchmark-runner.js: |
| (_runBenchmarkAndRecordResults): Update the body background color to match that of |
| the stage. |
| (this._runNextIteration): Clear the background color style for the results page. |
| * Animometer/resources/runner/tests.js: |
| * Animometer/tests/master/focus.html: Added. |
| * Animometer/tests/master/image-data.html: Added. |
| * Animometer/tests/master/multiply.html: Added. |
| * Animometer/tests/master/resources/focus.js: Added. |
| * Animometer/tests/master/resources/image-data.js: Added. |
| * Animometer/tests/master/resources/multiply.js: Added. |
| * Animometer/tests/master/resources/stage.css: Move common styles out. |
| * Animometer/tests/resources/main.js: Update Stage.randomBool to use Math.random. |
| Add Stage.randomSign for randomly setting a direction. Add the notion of the |
| current timestamp of the test to Benchmark, since some animations cycle through |
| colors and rely on an incremental counter like the time. |
| |
| 2016-02-09 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Add internal benchmark tests for CSS mix-blend-modes and filters |
| https://bugs.webkit.org/show_bug.cgi?id=154058 |
| |
| Provisionally reviewed by Jon Lee. |
| |
| * Animometer/resources/debug-runner/tests.js: Include the new tests in the |
| "HTML suite" of the debug runner. |
| |
| * Animometer/resources/extensions.js: |
| (Utilities.browserPrefix): |
| (Utilities.setElementPrefixedProperty): Utility functions to allow setting |
| prefixed style properties. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js: |
| Set the mix-blend-mode and the filter to some random values if the options |
| of the test requested that. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| (parseShapeParameters): Parse the url options "blend" and "filter" and set |
| the corresponding flags. |
| |
| * Animometer/tests/resources/main.js: |
| (randomStyleMixBlendMode): |
| (randomStyleFilter): Return random mix-blend-mode and filter. |
| |
| 2016-02-08 Jon Lee <jonlee@apple.com> |
| |
| Add a ramp controller |
| https://bugs.webkit.org/show_bug.cgi?id=154028 |
| |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| Enhance the graph to include a complexity-fps graph, in addition |
| to the time graph. |
| |
| * Animometer/developer.html: Add a ramp option. |
| * Animometer/resources/debug-runner/animometer.css: Update the style. |
| * Animometer/resources/strings.js: Flatten the Strings.text constants. |
| * Animometer/resources/debug-runner/animometer.js: |
| (ResultsTable.call._addGraphButton): Refactor. |
| (ResultsTable.call._addTest): Add regression data. |
| (benchmarkController): Add a form that allows the user to switch between the two forms, |
| Add a form that allows the user to toggle different data. Hide certain header columns |
| depending on the selected controller. |
| * Animometer/resources/debug-runner/graph.js: Add the complexity regressions. |
| * Animometer/resources/debug-runner/tests.js: Add headers for the ramp results. |
| * Animometer/resources/runner/animometer.js: |
| (ResultsTable): If a header is disabled don't include them in _flattenedHeaders. |
| * Animometer/tests/resources/main.js: |
| (Controller): Allow options to specify the capacity for sample arrays. |
| (Regression): A piecewise regression that tries to fit a slope and a flat profile. |
| (_calculateRegression): Options can fix the slope and bias when calculating the minimal |
| error. Sweep across the samples in time (which could be backward depending on the controller) |
| and calculate the intersection point. |
| (RampController): This controller assumes that the target frame rate is below |
| 58 FPS. It runs in two stages. The first stage quickly determines the order of |
| magnitude of objects needed to stress the system by the setting the complexity |
| to increasingly difficult tiers. Perform a series of ramps descending from a |
| high-water mark of complexity. The complexity needed to reach the target frame |
| length is done by performing a piecewise regression on each ramp, and track a |
| running average of these values. For the next ramp, make that running average |
| the center of the ramp. With a minimum complexity of 0, the high-water mark is |
| twice that average. The score is based on the highest complexity that can |
| reach 60 fps. |
| |
| 2016-02-08 Jon Lee <jonlee@apple.com> |
| |
| Address Said's comments on the benchmark, and do some clean up. |
| |
| * Animometer/developer.html: |
| * Animometer/resources/debug-runner/animometer.css: Add styles for averages. |
| * Animometer/resources/debug-runner/animometer.js: Use the right |
| Strings constants. |
| * Animometer/resources/debug-runner/graph.js: |
| (_addRegressionLine): Add missing code to draw the line and standard |
| deviation highlight. |
| (onGraphTypeChanged): Remove unneeded variables |
| (onTimeGraphOptionsChanged): |
| * Animometer/resources/runner/benchmark-runner.js: |
| (_runBenchmarkAndRecordResults): Rename samplers to suiteResults and |
| _suitesSamplers to _suitesResults. |
| * Animometer/tests/resources/main.js: |
| (results): Call processSamples(). |
| (update): Change sampling timestamp comparison. |
| (_animateLoop): Move shouldStop call to before the update. |
| * Animometer/tests/resources/sampler.js: |
| (process): Rename to processSamples(). |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Teach Controller to measure intervals, and turn off the frame length estimator. |
| |
| * Animometer/tests/resources/main.js: Default interval length is 100 ms. |
| (start): Set the first interval. |
| (_measureAndResetInterval): Reports the average frame length of the interval that just |
| completed, and sets up the next interval. |
| (update): If there is no length, then just use the estimator per frame, otherwise the |
| estimator measures per interval. Add a didFinishInterval for subclasses to process |
| prior to recording the sample. Update tune() to include whether an interval had |
| finished. |
| (StepController): Step controllers don't measure on an interval basis. |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Minor refactoring. Rename Controller._estimator to Controller._frameLengthEstimator |
| and switch the parameters for start(), update(), and tune(), so that the timestamp |
| is first and stage is second. |
| |
| * Animometer/tests/resources/main.js: |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Move ResultsTable functionality not needed for release tests out. |
| Move reporting of score and mean to selection of the time-based graph. |
| |
| * Animometer/developer.html: Rename graph-options to time-graph-options. |
| * Animometer/resources/debug-runner/animometer.js: |
| (DeveloperResultsTable): Moved from runner/animometer.js. Switch from mean |
| values to "average" objects which can hold stdev. Move graph button and |
| calculation of noisy measurements here. Sophisticated header processing |
| is not needed in release suite. |
| (populateTable): Use DeveloperResultsTable. |
| * Animometer/resources/debug-runner/graph.js: Pull time graph creation to |
| its own function, and add a new onGraphTypeChanged handler in preparation |
| of a complexity graph to be added later. |
| * Animometer/resources/runner/animometer.js: |
| (ResultsTable): Simplify to just handle test names and scores. |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Tests: reuse objects already made. |
| |
| Avoid thrash of object creation and removal by maintaining an index that |
| moves along the array as the adjust values change. If the tune value |
| requires more objects than the maximum size of the object array, then create |
| new objects. This means that the object array size never decreases. |
| |
| * Animometer/tests/master/resources/canvas-stage.js: Maintain a separate |
| offsetIndex. For these tests, we want to avoid drawing the oldest objects, |
| so the scene will draw the object at offsetIndex to the end of the array. |
| (tune): Reverse the logic since "removal" of objects is much simpler and |
| involves simply changing the offsetIndex. |
| (animate): Update the for loop to draw from offsetIndex to the end. |
| (complexity): Update the definition. |
| * Animometer/tests/master/resources/canvas-tests.js: Maintain a separate |
| offsetIndex. For these tests, we want to avoid drawing the newest objects, |
| so the scene will draw the object at index 0 to the object at offsetIndex. |
| (SimpleCanvasStage.animate): Fly-by removal of local stage variable, |
| which is unneeded. Update the for loop to draw from offsetIndex to the end. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| (SimpleCanvasStage.animate): Update the for loop to draw from 0 to |
| offsetIndex. |
| * Animometer/tests/simple/resources/simple-canvas.js: |
| (tune): Update logic. Here, offsetIndex represents the boundary of the last |
| index to render. |
| (animate): Update the for loop to draw from 0 to offsetIndex. |
| (complexity): Update the definition. |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Tests: refactor and update styles. |
| |
| * Animometer/tests/resources/main.js: Add helper methods that return |
| a color that hue rotates based on the date, and a counter value that |
| increases based on the date. Fix randomInt() to not bias against the min and |
| max values. |
| |
| * Animometer/tests/master/resources/canvas-tests.js: Use new helper methods. |
| * Animometer/tests/master/resources/dom-particles.js: Ditto. |
| * Animometer/tests/master/resources/particles.js: Ditto. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: Refactor to |
| use a rotating color instead of a random color. The fast switching of color |
| is too vivid to watch. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js: |
| (BouncingSvgParticlesStage.call.createGradient): Fix the gradient so |
| that the last stop is located at the end. |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Refactor tune() to not return the complexity of the scene. |
| |
| We have stage.complexity() now, so returning the complexity through tune |
| is unnecessary. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| * Animometer/tests/master/resources/canvas-stage.js: |
| * Animometer/tests/master/resources/particles.js: |
| * Animometer/tests/misc/resources/canvas-electrons.js: |
| * Animometer/tests/misc/resources/canvas-stars.js: |
| * Animometer/tests/resources/main.js: |
| * Animometer/tests/simple/resources/simple-canvas.js: |
| * Animometer/tests/simple/resources/tiled-canvas-image.js: |
| * Animometer/tests/template/resources/template-canvas.js: |
| * Animometer/tests/template/resources/template-css.js: |
| * Animometer/tests/template/resources/template-svg.js: |
| * Animometer/tests/text/resources/layering-text.js: |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Make the fixed controller a step controller instead. Halfway through the test |
| it will bump up the complexity 4-fold. Calculate the step timestamp using options |
| instead of a separate parameter to the Controller constructor. |
| |
| * Animometer/developer.html: Change value to "step" |
| * Animometer/resources/debug-runner/animometer.js: |
| (window.suitesManager.updateEditsElementsState): Show number inputs when set to "step". |
| * Animometer/tests/resources/main.js: |
| (update): Provide a hook for subclasses to tune. |
| (StepController): Maintain a flag determining whether we've stepped, and the time |
| we should step. |
| (Benchmark): Use the new StepController. |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Adjust the FPS graph scale. |
| |
| Instead of making the FPS graph linearly scale, scale it based on the frame length, |
| but show the data in terms of FPS. Because it is inversely proportional, and most |
| of the data never gets below 20, concentrate the axis from 20-60 FPS, since otherwise |
| over half of the available graph space ends up blank. |
| |
| This means we should convert all of the FPS data to frame length data. |
| |
| * Animometer/resources/debug-runner/graph.js: Update the domain to be based on |
| frame length in milliseconds instead of FPS. Update the cursor to consider all of the |
| values being shown, and then pick the min and max values to represent the length of the |
| cursor. |
| * Animometer/resources/runner/animometer.js: |
| * Animometer/resources/strings.js: |
| * Animometer/tests/resources/main.js: |
| (processSamples): Add the ability to only sample a range of the data instead of everything |
| after an offset index. Update sampler to record the frame lengths instead of the frame |
| rate. |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Add option to use different methods for retrieving a timestamp. |
| |
| * Animometer/developer.html: Add performance.now and Date.now options. |
| * Animometer/resources/runner/animometer.js: Default to performance.now. |
| (window.benchmarkController.startBenchmark): |
| * Animometer/tests/resources/main.js: Tie the desired method to _getTimestamp. |
| (run): Use _getTimestamp. |
| (_animateLoop): Ditto. |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Allow adding any number of markers to the graph. The markers can be labeled |
| and contain timestamp and sample index data. Make it a part of the controller |
| rather than keeping it in the sampler. |
| |
| * Animometer/resources/debug-runner/animometer.css: Add styles for markers |
| * Animometer/resources/debug-runner/graph.js: Create the markers and add |
| text labels. |
| * Animometer/resources/runner/animometer.js: Assume the samplingTimeOffset |
| is just one of the marks provided. |
| * Animometer/resources/strings.js: Add Strings.json.marks. |
| * Animometer/tests/resources/main.js: |
| (Controller): Keep marks here. They are keyed by the marker name, so no two |
| markers should have the same name. |
| (recordFirstSample): Refactor to use mark. |
| (mark): Allows for arbitrary data if needed later. The timestamp maintained |
| is relative to the absolute start timestamp. |
| (containsMark): Checks whether a mark with a specific comment exists. |
| (processSamples): Removes the _startTimestamp offset from the marks before |
| setting it in results. |
| * Animometer/tests/resources/sampler.js: Remove marks. |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Get rid of options member variable in Benchmark. |
| |
| Options are only needed when initializing the stage or benchmark, so there's no |
| need to also keep a reference to it. |
| |
| * Animometer/tests/resources/main.js: Get rid of options variable in Benchmark. |
| Pass options to Controllers and Stages. |
| (Controller.Utilities.createClass): |
| (Benchmark.Utilities.createClass): |
| (get options): Deleted. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js: |
| * Animometer/tests/master/resources/canvas-stage.js: |
| * Animometer/tests/master/resources/canvas-tests.js: |
| * Animometer/tests/master/resources/particles.js: |
| * Animometer/tests/misc/resources/canvas-electrons.js: |
| * Animometer/tests/misc/resources/canvas-stars.js: |
| * Animometer/tests/misc/resources/compositing-transforms.js: |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| * Animometer/tests/simple/resources/tiled-canvas-image.js: |
| * Animometer/tests/template/resources/template-canvas.js: |
| * Animometer/tests/template/resources/template-css.js: |
| * Animometer/tests/template/resources/template-svg.js: |
| * Animometer/tests/text/resources/layering-text.js: |
| |
| 2016-02-07 Jon Lee <jonlee@apple.com> |
| |
| Update how the benchmark is run |
| https://bugs.webkit.org/show_bug.cgi?id=153960 |
| |
| Provisionally reviewed by Said Abou-Hallawa. |
| |
| Introduce the notion of a Controller. It is responsible for recording, updating, |
| and processing the statistics and complexity of the benchmark. This allows |
| plugging in different Controllers. |
| |
| This strips most of the functionality from Animator and BenchmarkState, so fold |
| what's left into Benchmark. Now, Benchmarks only own a stage and a controller, but |
| are responsible for driving the animation loop. |
| |
| Rewrite Animator._shouldRequestAnotherFrame into two different Controllers. One |
| maintains a fixed complexity, and the other adapts the complexity to meet a |
| fixed FPS. |
| |
| Fix the Kalman estimator to be modeled on a scalar variable with no model. |
| |
| * Animometer/tests/resources/main.js: Remove BenchmarkState and Animator, and |
| replace it with a Controller. Add a FixedController and refactor the previous controller |
| to an AdaptiveController. |
| |
| (Controller): Controllers own the estimator and the sampler. When a new frame is |
| displayed, the animation loop calls update(). The estimator and sampler record |
| stats, then tune. Samplers can track multiple series of data. The basic controller |
| tracks timestamp, complexity, and estimated frame rate. |
| The Kalman estimation is based on the frame length rather than the frame |
| rate. Because FPS is inverse proportional to frame length, in the case where the measured |
| frame length is very small, the FPS ends up being a wildly large number (in the order of |
| 600-1000 "FPS"), and it pulls the estimator up drastically enough that it takes a while |
| for it to settle back down. Using frame length reduces the impact of these spikes. |
| Converging the estimation takes enough time to avoid initializing it immediately |
| when the benchmark starts. Instead, the benchmark runs for a brief period of time (100ms) |
| before running it in earnest. Allow controllers an opportunity to set the complexity |
| before starting recording. |
| When the benchmark is complete, the controller has an opportunity to process |
| the samples. The default implementation calculates the raw FPS based on the time |
| difference of the samples, and calculates the complexity score. This is moved from |
| Benchmark.processSamples. |
| |
| (Controller): Initialize timestamps. These are at first relative to the start of the |
| benchmark, but are offset by the absolute start time during start(). By default maintain |
| 3 data series, but subclasses can override. |
| (start): Calls recordFirstSample() for subclasses to override if needed. |
| (recordFirstSample): For basic controller, start sampling at the beginning. |
| (update): Update the frame length estimator and sample. |
| (shouldStop): Checks that the time is before _endTimestamp. |
| (results): Returns the processed samples. |
| (processSamples): Iterate through the sample data and collate them. Include scores. |
| |
| (FixedComplexityController): Controller that tunes the stage to the desired complexity |
| prior to starting, and keeps it at that complexity. |
| |
| (AdaptiveController): Have the estimator estimate the interval frame rate instead of the |
| raw frame rate. |
| The previous version of this controller ignored the frame that came after the |
| adjustment. The raw FPS show that whatever noise the scene change adds is negligible |
| compared to the noise of the system overall. Stop ignoring that frame and include all |
| frames in the measurements. |
| |
| (Benchmark): Remove dependency on animator, and instantiate a runner based on what is |
| selected. Most of the loop's functionality is in Controller, so remove here. |
| (Benchmark.run): Remove start() since it is only called from run(), and fold it in here. |
| (Benchmark._animateLoop): Fold in from Animator.animateLoop. Let the benchmark run for |
| a brief period before calling Controller.start(). |
| |
| * Animometer/tests/resources/math.js: Fix the Kalman estimator. The filter estimates |
| a scalar variable, and makes basic assumptions regarding the model. As a result |
| none of the linear algebra classes are needed, so remove Matrix, Vector3, and Matrix3. |
| (SimpleKalmanEstimator): Calculate the gain based on the provided process and |
| measurement errors. |
| (KalmanEstimator): Deleted. |
| (IdentityEstimator): Deleted. |
| (PIDController): Refactor to use the Utilities.createClass() helper. |
| |
| The Kalman filter algorithm is explained here http://greg.czerniak.info/guides/kalman1/. |
| The state, represented by a scalar, is the estimated frame length. There is no user |
| transition of the state, and the state is the same as the measurement. With this model, |
| the estimation error converges, so calculate the gain ahead of time. |
| |
| * Animometer/developer.html: Remove fixed-after-warmup since it is not useful. |
| Replace the option to toggle the estimator, and make it possible to customize the |
| estimator's error parameters. Show raw FPS by default, and remove interval FPS, |
| which will be shown instead of the filtered raw FPS. |
| * Animometer/resources/debug-runner/animometer.css: Put the header behind the graph. |
| Remove #intervalFPS rules; move the color to #filteredFPS. |
| * Animometer/resources/debug-runner/graph.js: |
| (updateGraphData): Update the hr style to force the layout to be calculated |
| correctly. Change the tick format to be in terms of seconds, since the timestamps |
| are in milliseconds. Remove interval data. |
| * Animometer/resources/runner/animometer.js: |
| (window.benchmarkController.startBenchmark): Set Kalman parameters. |
| * Animometer/resources/runner/benchmark-runner.js: |
| (_runBenchmarkAndRecordResults): When a benchmark completes, expect it to return |
| the final data, rather than passing a sampler from the controller. This avoids |
| needing to expose the sampler variable in the benchmark. |
| * Animometer/tests/resources/sampler.js: |
| (process): Move the setting of the target frame rate to AdaptiveController. |
| |
| 2016-02-06 Jon Lee <jonlee@apple.com> |
| |
| Code clean up: Move Rotater function closer to Stage static methods. |
| The Rotater is used together with those methods; keep them close. |
| |
| * Animometer/tests/resources/main.js: |
| |
| 2016-02-06 Jon Lee <jonlee@apple.com> |
| |
| Update the JS includes due to ResultsTable move. |
| |
| * Animometer/developer.html: |
| * Animometer/index.html: |
| |
| 2016-02-06 Jon Lee <jonlee@apple.com> |
| |
| Move createElement and createSVGElement to Utilities. |
| |
| * Animometer/resources/extensions.js: |
| (Utilities.createElement): Added. |
| (Utilities.createSVGElement): Added. |
| (DocumentExtension.createElement): Deleted. |
| (DocumentExtension.createSvgElement): Deleted. |
| |
| * Animometer/resources/debug-runner/animometer.js: |
| * Animometer/resources/runner/animometer.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-particles.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js: |
| |
| 2016-02-06 Jon Lee <jonlee@apple.com> |
| |
| Add a convenience function for creating a class. |
| |
| The pattern for creating a class is common enough to add as a Utilities |
| helper function. It also makes it easy to collapse class definitions when |
| editing. |
| |
| * Animometer/resources/debug-runner/animometer.js: Move ProgressBar definition, |
| since it is only used here. |
| * Animometer/resources/runner/animometer.js: Move ResultsDashboard and |
| ResultsTable definition, since it is only used here. |
| * Animometer/resources/extensions.js: Move Utilities definition to the top. Convert |
| Point, Insets, SimplePromise. |
| (ProgressBar): Moved to animometer.js. |
| (ResultsDashboard): Moved to animometer.js. |
| (ResultsTable): Moved to animometer.js. |
| * Animometer/resources/runner/benchmark-runner.js: Convert BenchmarkRunnerState, |
| BenchmarkRunner. |
| * Animometer/tests/resources/main.js: Convert Rotater, Stage, Animator, Benchmark. |
| * Animometer/tests/resources/sampler.js: Convert Experiment, Sampler. |
| |
| Convert test primitives. |
| * Animometer/tests/master/resources/canvas-tests.js: Convert CanvasLineSegment, |
| CanvasArc, CanvasLinePoint. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: Convert CanvasLineSegment, |
| CanvasLinePoint, CanvasQuadraticSegment, CanvasQuadraticPoint, CanvasBezierSegment, |
| CanvasBezierPoint, CanvasArcToSegment, CanvasArcToSegmentFill, CanvasArcSegment, |
| CanvasArcSegmentFill, CanvasRect, CanvasRectFill. |
| * Animometer/tests/simple/resources/tiled-canvas-image.js: Convert CanvasImageTile. |
| |
| 2016-02-06 Jon Lee <jonlee@apple.com> |
| |
| Minor improvements to debug harness. |
| |
| * Animometer/developer.html: |
| * Animometer/resources/debug-runner/animometer.css: |
| (#suites): Put the complexity text boxes closer to the test names. |
| (#options): |
| (#rawFPS circle): Make the interval FPS appear as a separate data series, with a line. |
| (#intervalFPS path): |
| (#intervalFPS circle): |
| * Animometer/resources/debug-runner/animometer.js: |
| (window.optionsManager.updateLocalStorageFromUI): Convert number inputs from text. |
| (window.suitesManager._onChangeTestCheckbox): Refactor to take a checkbox. |
| (window.suitesManager._createTestElement): Enhance such that typing into the complexity |
| input will automatically select that test for running. |
| (window.suitesManager.updateLocalStorageFromJSON): Make the harness work for private |
| browsing. |
| * Animometer/resources/debug-runner/graph.js: Separate the intervalFPS data, and show |
| more accuracy in timestamps. |
| |
| 2016-02-06 Jon Lee <jonlee@apple.com> |
| |
| Refactor helper methods for getting random values for a stage. |
| |
| Instead of requiring a Stage instance, just attach it to the Stage object. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js: |
| * Animometer/tests/master/resources/canvas-tests.js: |
| * Animometer/tests/master/resources/particles.js: |
| * Animometer/tests/misc/resources/canvas-electrons.js: |
| * Animometer/tests/misc/resources/canvas-stars.js: |
| * Animometer/tests/misc/resources/compositing-transforms.js: |
| * Animometer/tests/resources/main.js: |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| |
| 2016-02-05 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Add a new graphics test for CanvasRenderingContext2D functions: getImageData and putImageData |
| https://bugs.webkit.org/show_bug.cgi?id=151716 |
| |
| Reviewed by Darin Adler. |
| |
| The purpose of this test is to measure the performance of getImageData |
| and putImageData functions. This test draws a background on the canvas |
| and then gets some random tiles from this background and draw them in |
| destinations different from their original sources. |
| |
| * Animometer/resources/debug-runner/tests.js: Adding the new test to the canvas simple tests suite. |
| |
| * Animometer/resources/extensions.js: |
| (Array.prototype.shuffle): Shuffles the elements of an array. |
| |
| (Point.zero): Returns a new Point object whose x and y are equal zero. |
| (Point.prototype.str): Used for debugging the Point object. |
| |
| * Animometer/tests/simple/resources/tiled-canvas-image.js: Added. |
| (CanvasImageTile): |
| (CanvasImageTile.prototype.getImageData): |
| (CanvasImageTile.prototype.putImageData): |
| (Stage.call.initialize): |
| (Stage.call._createTiles): |
| (Stage.call._nextTilePosition): |
| (Stage.call.tune): |
| (Stage.call._drawBackground): |
| (Stage.call.animate): |
| (Stage.call.complexity): |
| (Stage.call): |
| * Animometer/tests/simple/tiled-canvas-image.html: Added. |
| |
| 2016-01-07 Jon Lee <jonlee@apple.com> |
| |
| Fix new test. |
| |
| * Animometer/resources/runner/tests.js: Wrong URL from an |
| old patch. |
| * Animometer/tests/master/particles.html: |
| * Animometer/tests/master/resources/dom-particles.js: |
| (Particle.call.reset): Figured out a simpler way to set up |
| the particles. |
| (this.move.reset): Deleted. |
| (this.move._applyAttributes): Deleted. |
| * Animometer/tests/master/resources/particles.js: |
| (Particle): Call move() after reset(). |
| |
| 2016-01-07 Jon Lee <jonlee@apple.com> |
| |
| Update benchmark test suite |
| https://bugs.webkit.org/show_bug.cgi?id=152679 |
| |
| Reviewed by Simon Fraser. |
| |
| Add a new test. The test has a rotating background |
| gradient, and does a better job physically simulating |
| particles. |
| |
| * Animometer/resources/extensions.js: Teach Point to take constants as well as other Points. |
| (Point.prototype.length): Added. |
| (Point.prototype.normalize): Added. |
| * Animometer/resources/runner/tests.js: Add the test to the master suite. |
| * Animometer/tests/master/particles.html: Added. |
| * Animometer/tests/master/resources/particles.js: Added. Parent class for different kinds of particles. |
| (Particle): |
| (Particle.prototype.reset): If the particle starts slowing down in terms of its animation, |
| reset it. |
| (Particle.prototype.animate): Bounce off the walls elastically, and include gravity. |
| (Particle.prototype.move): Subclasses should override. |
| (ParticlesStage): Stage includes a rotating gradient background. |
| * Animometer/tests/master/resources/dom-particles.js: Added. Creates a <div> and adds it to |
| the stage. |
| * Animometer/tests/resources/star.svg: Added. |
| |
| 2016-01-03 Jon Lee <jonlee@apple.com> |
| |
| Update benchmark test suite |
| https://bugs.webkit.org/show_bug.cgi?id=152679 |
| |
| Reviewed by Simon Fraser. |
| |
| Move algorithm.js and sampler.js to tests/ and benchmark-runner.js to runner/. |
| |
| Needed by both harnesses. |
| * Animometer/resources/runner/benchmark-runner.js: Renamed from PerformanceTests/Animometer/resources/debug-runner/benchmark-runner.js. |
| * Animometer/developer.html: |
| * Animometer/index.html: |
| |
| Needed only by the tests. Move to tests/. Statistics, in sampler.js, is used by ResultsDashboard, so move that |
| into extensions.js. |
| * Animometer/resources/extensions.js: |
| * Animometer/tests/resources/algorithm.js: Renamed from PerformanceTests/Animometer/resources/algorithm.js. |
| * Animometer/tests/resources/sampler.js: Renamed from PerformanceTests/Animometer/resources/sampler.js. |
| * Animometer/tests/bouncing-particles/bouncing-canvas-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html: |
| * Animometer/tests/bouncing-particles/bouncing-css-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-css-shapes.html: |
| * Animometer/tests/bouncing-particles/bouncing-svg-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-svg-shapes.html: |
| * Animometer/tests/master/canvas-stage.html: |
| * Animometer/tests/misc/canvas-electrons.html: |
| * Animometer/tests/misc/canvas-stars.html: |
| * Animometer/tests/misc/compositing-transforms.html: |
| * Animometer/tests/simple/simple-canvas-paths.html: |
| * Animometer/tests/template/template-canvas.html: |
| * Animometer/tests/template/template-css.html: |
| * Animometer/tests/template/template-svg.html: |
| * Animometer/tests/text/layering-text.html: |
| * Animometer/tests/text/text-boxes.html: |
| |
| 2016-01-07 Jon Lee <jonlee@apple.com> |
| |
| Update benchmark test suite |
| https://bugs.webkit.org/show_bug.cgi?id=152679 |
| |
| Reviewed by Simon Fraser. |
| |
| Fix tests for other browsers. |
| |
| * Animometer/resources/extensions.js: |
| (Point.elementClientSize): Some browsers return 0 for SVG clientWidth and clientHeight. |
| Use getBoundingClientRect() instead. |
| * Animometer/tests/misc/resources/canvas-electrons.js: |
| (CanvasElectron.prototype._draw): Some browsers don't support ellipse. |
| |
| 2016-01-07 Jon Lee <jonlee@apple.com> |
| |
| Add a waitUntilReady() step |
| https://bugs.webkit.org/show_bug.cgi?id=152862 |
| |
| Reviewed by Simon Fraser. |
| |
| Add a waitUntilReady() callback that lets the benchmark complete |
| its setup before running the benchmark. |
| |
| * Animometer/tests/resources/main.js: |
| (Benchmark.prototype.run): First call waitUntilReady, which returns |
| a promise. When the promise resolves, run everything that was in this |
| function. |
| (Benchmark.prototype.waitUntilReady): Default implementation returns |
| a resolved promise. |
| (Benchmark.prototype.resolveWhenFinished): Deleted. |
| * Animometer/tests/template/resources/template-canvas.js: |
| (new.TemplateCanvasStage.waitUntilReady): Example on how to override. |
| |
| 2016-01-03 Jon Lee <jonlee@apple.com> |
| |
| Update data reporting and analysis |
| https://bugs.webkit.org/show_bug.cgi?id=152670 |
| |
| Reviewed by Simon Fraser. |
| |
| Show new graph data. Provide controls to show different series data. Provide an |
| interactive cursor that shows the data at a given sample. |
| |
| * Animometer/developer.html: Add a nav section in #results. Each part of the graph |
| has a checkbox for visual toggling, as well as companion spans to contain the data. |
| The numbers will always be shown even if the SVG isn't. |
| * Animometer/resources/debug-runner/animometer.css: |
| (#suites): Adjust spacing when doing fixed complexity. |
| (#test-graph nav): Place the nav in the upper right corner. |
| (#test-graph-data > svg): Fix the FPS scale from 0-60. It makes the raw FPS goes past |
| that scale. Allow it to show. |
| (.target-fps): Add a dotted line for where the benchmark is supposed to settle for FPS. |
| (#cursor line): The cursor contains a line and highlight circles for the data being shown. |
| (#cursor circle): |
| (#complexity path): This and rules afterward are named by series type. |
| (#complexity circle): |
| (#filteredFPS path): |
| (#filteredFPS circle): |
| (#rawFPS path): |
| (#intervalFPS circle): |
| (.left-samples): Deleted. |
| (.right-samples): Deleted. |
| * Animometer/resources/debug-runner/animometer.js: |
| (initialize): Add a "changed" listener when the checkboxes change in the nav. |
| (onBenchmarkOptionsChanged): Renamed. |
| (showTestGraph): All graph data is passed in as graphData instead of as arguments. |
| * Animometer/resources/debug-runner/graph.js: Extend BenchmarkController. When showing |
| a new graph, call updateGraphData(). It creates all of the d3 graphs. onGraphOptionsChanged() |
| toggles the data on and off. |
| (updateGraphData): Add the axes. Add the average lines and markers for sample time and |
| target FPS. Add the cursor group. Use helper function addData() to add the data. On top of |
| everything add a transparent area which will catch all of the mouse events. When the mouse |
| moves in the graph, find the closest data point, show the data in the nav area, and highlight |
| the data points. |
| (addData): Adds a line and circle for each data point. Also adds a highlight cursor with a |
| size a little larger than the circle radius for the data points. |
| (onGraphOptionsChanged): Called when data is visually toggled. |
| (showOrHideNodes): Helper function to toggle the .hidden class. |
| * Animometer/resources/extensions.js: |
| (ResultsDashboard.prototype.get data): Get rid of the arguments for _processData. |
| (ResultsTable.prototype._addGraphButton): Shove all of the graph data into a singular object. |
| |
| Producing the JSON can take a while with all of the data. Make it on-demand with a |
| button. |
| |
| * Animometer/resources/debug-runner/animometer.js: |
| (showResults): When showing the results, don't serialize the JSON data. Move that to... |
| (showJSONResults): ...here. Remove the button. |
| |
| * Animometer/developer.html: Add a button. The button will remove itself and populate |
| the textarea with the JSON data. |
| * Animometer/resources/debug-runner/animometer.css: |
| (.hidden): Add a universal hidden class. |
| (#results button.small-button): Promote the small-button styles to the whole results |
| section for use in the JSON button. |
| (#results button.small-button:active): |
| (#results-data button.small-button): Deleted. |
| (#results-data button.small-button:active): Deleted. |
| |
| Refactor how Animator does its recording. |
| |
| * Animometer/tests/resources/math.js: Create a new, simple estimator that just returns |
| the same interval frame rate for adjustment. |
| * Animometer/tests/resources/main.js: |
| (Animator): Remove _dropFrameCount, and make variables more accurate described. |
| (Animator.prototype.initialize): Use the identity estimator instead of using a bool. |
| (Animator.prototype._intervalTimeDelta): Rename, only used internally. |
| (Animator.prototype._shouldRequestAnotherFrame): Assume we drop one frame for adjustment |
| of the scene. If we are within the number of frames to measure for the interval, just |
| record the timestamp. Otherwise we are ready to evaluate and adjust the scene. Record |
| the interval frame rate and the estimator's frame rate. |
| |
| Avoid processing the data through the Experiment while the test is running. Reconfigure |
| the sampler to just record the raw samples. After the test is done, run the samples through |
| the Experiment to get the score. |
| |
| * Animometer/resources/sampler.js: |
| (Experiment): Fold _init() into the constructor since nobody else will call it. This is not |
| needed until the test concludes, so remove startSampling(). Clients should just call sample(). |
| (Sampler): Pre-allocate arrays given the number of data points being recorded, and a capacity |
| of how many samples will be used. The processor is a called when it's time to process the data |
| since that is the client also telling the Sampler what to record. |
| Introduce the notion of marks as well, which allows the client to mark when an |
| event occurs. When we mark sample start, we can attach the timestamp there, instead of storing |
| it separately. |
| (Sampler.prototype.startSampling): Deleted. Clients should just call record(). |
| (Sampler.prototype.record): The data to record is passed in as variable arguments. |
| (Sampler.prototype.mark): When adding a mark, a client needs to provide a unique string, and |
| can provide extra data object for later retrieval. |
| (Sampler.prototype.process): Renamed from toJSON. Trim the sampling arrays to what was used. |
| Call the processor to process the samples. |
| * Animometer/resources/debug-runner/benchmark-runner.js: |
| (BenchmarkRunner.prototype._runBenchmarkAndRecordResults): Call process(). |
| |
| * Animometer/resources/strings.js: Add some new strings, remove the graph ones since they are |
| not used. |
| * Animometer/tests/resources/main.js: |
| (Benchmark): Create a sampler with 4 series. The maximum number of points expected is the |
| number of seconds multiplied by 60 fps. Benchmark, as a client of the Sampler, knows about all |
| of the data being added to the Sampler. It is added through record(), and processed through |
| processSamples(). |
| (Benchmark.prototype.update): Mark when we've passed warmup and are starting to sample. Include |
| the timestamp in the custom data for the mark. This avoids the need to store is separately in |
| the Sampler. Fold what was in record() here, since nothing else needs this functionality. |
| record() now just relays the information to the sampler. |
| (Benchmark.prototype.record): Called by Animator, which provides the data to the sampler. |
| Animator's calls to this is part of a later patch. Requires each stage to return its complexity. |
| (Benchmark.prototype.processSamples): If the sampling mark exists, add it to the results. |
| Go through all of the samples. All samples contain a timestamp and complexity. We |
| calculate "raw FPS" which is the time differential from the previous sample. At regular intervals |
| the Kalman-filtered FPS and the interval average FPS are also recorded. We also create two |
| experiments, to get the scores for the complexity and smoothed FPS, and add those samples to |
| the experiments. Grab those scores and add them into results also. |
| |
| Add complexity() to the tests for Benchmark.record(). |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| * Animometer/tests/misc/resources/canvas-electrons.js: |
| * Animometer/tests/misc/resources/canvas-stars.js: |
| * Animometer/tests/text/resources/layering-text.js: |
| |
| 2015-12-27 Jon Lee <jonlee@apple.com> |
| |
| Simplify the test harness |
| https://bugs.webkit.org/show_bug.cgi?id=152562 |
| |
| Reviewed by Simon Fraser. |
| |
| Update the simple canvas tests. For the paths, start from the center instead of the |
| top-left corner. Instead of using a coordinate limit, use a canonized factor, and |
| use that along both the x and y axes, so that more capable tests use more of the |
| canvas. |
| |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| (CanvasLinePoint): Rewrite to use the coordinate maximum factor. |
| (CanvasQuadraticPoint): Ditto. |
| (CanvasBezierPoint): Ditto. |
| * Animometer/tests/simple/resources/simple-canvas.js: |
| (tune): Calculate a factor instead of a maximum coordinate. |
| |
| 2015-12-27 Jon Lee <jonlee@apple.com> |
| |
| Simplify the test harness |
| https://bugs.webkit.org/show_bug.cgi?id=152562 |
| |
| Reviewed by Simon Fraser. |
| |
| All of the benchmarks use the default Animator(). Don't require new tests |
| to pass a new instance, and instead just make one in the Benchmark constructor. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js: |
| * Animometer/tests/master/resources/canvas-tests.js: |
| * Animometer/tests/misc/resources/canvas-electrons.js: |
| * Animometer/tests/misc/resources/canvas-stars.js: |
| * Animometer/tests/misc/resources/compositing-transforms.js: |
| * Animometer/tests/resources/main.js: |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| * Animometer/tests/template/resources/template-canvas.js: |
| * Animometer/tests/template/resources/template-css.js: |
| * Animometer/tests/template/resources/template-svg.js: |
| * Animometer/tests/text/resources/layering-text.js: |
| * Animometer/tests/text/resources/text-boxes.js: |
| |
| Refactor the template. |
| |
| * Animometer/tests/template/resources/template-canvas.js: |
| * Animometer/tests/template/resources/template-css.js: |
| * Animometer/tests/template/resources/template-svg.js: |
| * Animometer/tests/template/template-canvas.html: |
| * Animometer/tests/template/template-css.html: |
| * Animometer/tests/template/template-svg.html: |
| |
| Refactor the SVG suite. |
| |
| * Animometer/tests/bouncing-particles/bouncing-svg-images.html: Move scripts to the end. |
| * Animometer/tests/bouncing-particles/bouncing-svg-shapes.html: Ditto. |
| |
| * Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html: Remove extraneous includes |
| to stage.js. |
| * Animometer/tests/text/text-boxes.html: Ditto. |
| |
| BouncingCanvasParticlesBenchmark is not necessary. Use Benchmark directly when subclassing. |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js: Remove |
| BouncingCanvasParticlesBenchmark. |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js: Use Benchmark. |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: Ditto. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-particles.js: Require the shape |
| in the constructor instead of having subclasses set the private variable. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js: Refactor. |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js: |
| |
| Refactor the HTML suite. |
| |
| Move scripts to the end. |
| * Animometer/tests/bouncing-particles/bouncing-css-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-css-shapes.html: |
| * Animometer/tests/text/layering-text.html: |
| * Animometer/tests/text/text-boxes.html: |
| |
| Refactor to use the new variables. |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js: |
| * Animometer/tests/text/resources/layering-text.js: |
| * Animometer/tests/text/resources/text-boxes.js: |
| |
| Refactor the bouncing canvas tests. |
| |
| * Animometer/tests/bouncing-particles/bouncing-canvas-images.html: Move scripts to the end. |
| * Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html: Move scripts to the end. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: Promote a few |
| properties to "public" since they are used by subclasses. |
| (BouncingParticlesStage): Fix the constructor, which was missing "this". Make particles |
| "public" for subclasses. |
| (BouncingParticlesStage.initialize): Fix the max velocity, which was accidentally changed. |
| * Animometer/tests/misc/resources/compositing-transforms.js: Refactor. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js: |
| BouncingCanvasParticlesAnimator is no longer needed. |
| (BouncingCanvasParticle): Change constructor to take a shape as a parameter instead of |
| having subclasses set the variable. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js: Refactor. |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: Refactor. |
| |
| Move example/ files into misc/. |
| |
| * Animometer/tests/misc/canvas-electrons.html: Renamed from PerformanceTests/Animometer/tests/examples/canvas-electrons.html. |
| * Animometer/tests/misc/canvas-stars.html: Renamed from PerformanceTests/Animometer/tests/examples/canvas-stars.html. |
| * Animometer/tests/misc/resources/canvas-electrons.js: Renamed from PerformanceTests/Animometer/tests/examples/resources/canvas-electrons.js. |
| * Animometer/tests/misc/resources/canvas-stars.js: Renamed from PerformanceTests/Animometer/tests/examples/resources/canvas-stars.js. |
| |
| * Animometer/resources/debug-runner/tests.js: Update test URLs. |
| |
| Refactor miscellaneous suite. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| Remove BouncingParticlesAnimator and BouncingParticleBenchmark, which are |
| not needed. |
| (tune): Remove console assert. |
| * Animometer/tests/resources/main.js: Add Rotater back in from stage.js. |
| |
| * Animometer/tests/examples/resources/canvas-electrons.js: Remove CanvasElectronsAnimator. |
| * Animometer/tests/examples/resources/canvas-stars.js: Remove CanvasStarsAnimator. |
| * Animometer/tests/misc/resources/compositing-transforms.js: |
| * Animometer/tests/examples/canvas-electrons.html: Move scripts to the end. |
| * Animometer/tests/examples/canvas-stars.html: Ditto. |
| * Animometer/tests/misc/compositing-transforms.html: Ditto. |
| |
| Refactor the simple suite. |
| |
| * Animometer/tests/master/resources/canvas-stage.js: |
| (tune): Remove coordinateMaximum since it is not needed in any |
| of the master tests. |
| * Animometer/tests/simple/resources/simple-canvas.js: |
| SimpleCanvasAnimator and SimpleCanvasBenchmark are no longer |
| needed. |
| (tune): Manage the objects differently, but instead of duplicating |
| all of SimpleCanvasStage here, just replace tune(). Include |
| coordinateMaximum, and remove items from the end of the list |
| instead of the beginning. |
| (StageBenchmark.call.createAnimator): Deleted. |
| (StageBenchmark.call): Deleted. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| * Animometer/tests/simple/simple-canvas-paths.html: Move |
| scripts to the end. |
| |
| Get rid of stage.js, StageAnimator, and StageBenchmark. Don't have the progress bar update during the test. |
| |
| * Animometer/resources/debug-runner/animometer.js: |
| (initialize): Move the setting of testsCount to the debug runner. |
| (didRunTest): Nicer name. |
| * Animometer/resources/debug-runner/benchmark-runner.js: |
| (BenchmarkRunner.prototype._runBenchmarkAndRecordResults): Don't pass in the progress bar to benchmarks. |
| * Animometer/resources/extensions.js: |
| (ProgressBar): Refactor. Make variables "private". Resetting the progress when instantiating. |
| (ProgressBar.prototype.incrementRange): This is called every time a benchmark completes. |
| * Animometer/resources/runner/animometer.js: |
| (window.benchmarkRunnerClient.initialize): Remove unneeded setting of testsCount. |
| * Animometer/resources/strings.js: These are no longer needed. |
| * Animometer/tests/master/canvas-stage.html: Remove script inclusion. Other tests will follow. |
| * Animometer/tests/master/resources/canvas-tests.js: Use Benchmark instead of StageBenchmark. |
| * Animometer/tests/resources/main.js: Messages are no longer needed |
| (Animator.prototype._shouldRequestAnotherFrame): Rename from animate(), since this method returns a boolean |
| indicating whether another frame should be requested. Collapse the logic from StageAnimator into animateLoop. |
| (BenchmarkState.prototype.currentStage): Deleted. |
| (BenchmarkState.prototype.currentMessage): Deleted. |
| (BenchmarkState.prototype.currentProgress): Deleted. |
| (Animator.prototype.animate): Deleted. |
| (Animator.prototype.animateLoop): The stage is animated only when we have another frame to draw. |
| (Benchmark.prototype.record): No need to update the progress bar. |
| * Animometer/tests/resources/stage.js: Removed. Rotater will appear in a later patch, in main.js. |
| |
| * Animometer/resources/debug-runner/benchmark-runner.js: |
| (BenchmarkRunner.prototype._runBenchmarkAndRecordResults): Each test is run as a benchmark. |
| Remove the call to runBenchmark by merging the options here, and calling benchmark.run() |
| directly. |
| |
| Make the class relationships more easily understandable. The benchmark owns the stage, |
| animator, and options. Make the stage and animator no longer have their own references to |
| the options. Make Stage a first-class citizen by promoting it to main.js. Later patches |
| will try to get rid of stage.js altogether. |
| * Animometer/tests/resources/main.js: |
| (Stage): Moved from stage.js. |
| (Animator): Don't pass in benchmark and options in its constructor. It will get initialized |
| by benchmark-related parameters in initialize(). |
| (Animator.prototype.initialize): Add a back-reference to benchmark and cache an option. |
| (Animator.prototype.get benchmark): |
| (Animator.prototype.animate): Refactor to use the cached option, to remove its dependency on |
| the options dictionary. |
| (Benchmark): Require all benchmarks to have a stage and animator. The instance will initialize |
| them. |
| (Benchmark.prototype.get options): |
| (Benchmark.prototype.get stage): BenchmarkStates.stages will need to be renamed to avoid confusion. |
| (Benchmark.prototype.get animator): |
| (Benchmark.prototype.start): |
| (Benchmark.prototype.update): Ask the stage directly to tune or clear instead of adding another |
| level of indirection. |
| (window.runBenchmark): Deleted. Remove the need for a benchmarkClient. Also remove the standalone |
| path, since tests can be individually selected, and remove the need for runBenchmark since that is |
| handled in BenchmarkRunner._runBenchmarkAndRecordResults. |
| * Animometer/tests/resources/stage.js: |
| (Stage): Deleted. Moved to main.js. |
| (StageBenchmark): What's left is updating the progress bar; to be removed. |
| (StageAnimator): What's left can be folded in Animator. |
| |
| Refactor master suite. |
| * Animometer/tests/master/resources/canvas-stage.js: This now only has SimpleCanvasStage. |
| (animate): Push the clearRect() into each stage. |
| (complexity): |
| (StageBenchmark.call.createAnimator): Deleted. |
| (StageBenchmark.call): Deleted. |
| * Animometer/tests/master/resources/canvas-tests.js: SimpleCanvasPathStrokeStage is no longer needed. |
| (CanvasLineSegment.prototype.draw): |
| (CanvasArc): |
| (CanvasLinePoint): Remove the draw call because depending on its index it either needs to be moveTo |
| or lineTo, and it is otherwise a very small draw operation that doesn't need the overhead of the |
| function call. Do all of the drawing through the stage. |
| |
| Refactor the subclass pattern. Introduce Utilities.createSubclass(). |
| |
| * Animometer/resources/debug-runner/benchmark-runner.js: |
| * Animometer/resources/extensions.js: |
| (window.Utilities.createSubclass): Takes the super class, a function representing |
| the class's constructor, and additional methods to attach to the new class's |
| prototype object. |
| * Animometer/tests/text/text-boxes.html: Remove unneeded reference to utilities.js. |
| |
| Refactor tests. |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-particles.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js: |
| * Animometer/tests/examples/resources/canvas-electrons.js: |
| * Animometer/tests/examples/resources/canvas-stars.js: |
| * Animometer/tests/master/resources/canvas-stage.js: |
| * Animometer/tests/master/resources/canvas-tests.js: |
| * Animometer/tests/misc/resources/compositing-transforms.js: |
| * Animometer/tests/resources/stage.js: |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| * Animometer/tests/simple/resources/simple-canvas.js: |
| * Animometer/tests/template/resources/template-canvas.js: |
| * Animometer/tests/template/resources/template-css.js: |
| * Animometer/tests/template/resources/template-svg.js: |
| * Animometer/tests/text/resources/layering-text.js: Reorder some of the methods |
| and properties since they rely on each other. |
| * Animometer/tests/text/resources/text-boxes.js: |
| |
| * Animometer/resources/debug-runner/animometer.js: Arrange calls |
| in the order they are evoked. |
| * Animometer/resources/debug-runner/benchmark-runner.js: |
| (BenchmarkRunnerState.prototype.next): Get rid of return value since |
| no caller to next() uses it. |
| (BenchmarkRunnerState.prototype.prepareCurrentTest): Refactor the |
| promise to resolve simply when onload() is called instead of |
| looking for #stage. |
| (BenchmarkRunner.prototype._runTestAndRecordResults): Suite.run |
| simply calls runBenchmark(). Call it directly rather than through |
| the Suite. |
| (BenchmarkRunner.prototype.step): Remove unused parameter in |
| resolve callback. |
| (BenchmarkRunner.prototype.runMultipleIterations): Use this instead |
| of self since it is outside of the closure which needed the self |
| variable. |
| (resolveIfReady): Deleted. |
| (BenchmarkRunner.prototype.waitForElement): Deleted. |
| * Animometer/resources/runner/tests.js: prepare() and run() are |
| no longer needed. |
| (Suite.prototype.prepare): Deleted. |
| (Suite.prototype.run): Deleted. |
| * Animometer/tests/master/canvas-stage.html: Move all scripts to |
| the end of the page. |
| |
| 2015-12-23 Simon Fraser <simon.fraser@apple.com> |
| |
| Add an Animometer developer test which animates text-rich boxes |
| https://bugs.webkit.org/show_bug.cgi?id=152544 |
| |
| Reviewed by Zalan Bujtas. |
| |
| Add a test that draws lots of international text. This is a particle test, |
| moving the boxes around with absolution positioning. |
| |
| * Animometer/resources/debug-runner/tests.js: |
| * Animometer/tests/text/resources/text-boxes.js: Added. |
| (BouncingTextBox): |
| (BouncingTextBox.prototype._move): |
| (BouncingTextBox.prototype.animate): |
| (BouncingTextBoxStage): |
| (BouncingTextBoxStage.prototype.createParticle): |
| (BouncingTextBoxStage.prototype.particleWillBeRemoved): |
| (BouncingTextBoxsBenchmark): |
| (BouncingTextBoxsBenchmark.prototype.createStage): |
| (window.benchmarkClient.create): |
| * Animometer/tests/text/text-boxes.html: Added. |
| |
| 2015-12-23 Jon Lee <jonlee@apple.com> |
| |
| Split benchmark into two different pages |
| https://bugs.webkit.org/show_bug.cgi?id=152458 |
| |
| Reviewed by Simon Fraser. |
| |
| Add tests to 'animometer' suite. |
| |
| * Animometer/resources/runner/tests.js: |
| * Animometer/tests/master/canvas-stage.html: Added. |
| * Animometer/tests/master/resources/canvas-stage.js: Added. |
| * Animometer/tests/master/resources/canvas-tests.js: Added. |
| * Animometer/tests/master/resources/stage.css: Added. |
| |
| 2015-12-23 Jon Lee <jonlee@apple.com> |
| |
| Split benchmark into two different pages |
| https://bugs.webkit.org/show_bug.cgi?id=152458 |
| |
| Reviewed by Simon Fraser. |
| |
| Address comments. |
| |
| * Animometer/resources/debug-runner/benchmark-runner.js: |
| (BenchmarkRunner.prototype._runTestAndRecordResults): When the testing is complete the frame owning the |
| sampler goes away, and a later call to get the JSON data is no longer available. Process the data |
| right here, instead, and just reference it when displaying the results in ResultsDashboard.prototype._processData. |
| * Animometer/resources/extensions.js: |
| (Array.prototype.fill.Array.prototype.fill): Add a null check. Remove braces around single-line clause. |
| (Array.prototype.find.Array.prototype.find): Update the null check. |
| (ResultsDashboard.prototype._processData): Use the already-processed data. |
| * Animometer/resources/runner/animometer.css: |
| (.frame-container > iframe): Remove calc(). |
| |
| Move Array functions to extensions.js since that is included by the harness. |
| Add ES6 Array polyfills. |
| |
| * Animometer/resources/algorithm.js: |
| (Array.prototype.swap): Moved to extensions.js. |
| * Animometer/resources/extensions.js: |
| (Array.prototype.swap): |
| (Array.prototype.fill): Added. |
| (Array.prototype.find): Added. |
| |
| Adjust styles for iPad. |
| |
| * Animometer/resources/runner/animometer.css: |
| (@media screen and (min-device-width: 768px)): Apply to iPad as well. |
| (@media screen and (max-device-width: 1024px)): Update width for iPads. |
| |
| Adjustment styles for iOS. |
| |
| * Animometer/developer.html: Different divs contain the iframe, so use a class instead and |
| update the style rules. |
| * Animometer/index.html: |
| * Animometer/resources/debug-runner/animometer.css: Remove extraneous rules. |
| (@media screen and (min-device-width: 1800px)): Move this up. |
| * Animometer/resources/runner/animometer.css: Add rules to accomodate iOS. |
| |
| Get rid of prefixed flex properties for now. |
| |
| * Animometer/resources/debug-runner/animometer.css: |
| * Animometer/resources/runner/animometer.css: |
| |
| Update the structure of the harness. Remove the JSON-per-test but keep |
| the JSON of the whole test run. Use the full page in order to display |
| the graph. |
| |
| * Animometer/developer.html: Update several of the JS file includes to UTF-8. Remove header and footer. Test results screen includes score, |
| average, and worst 5% statistics. |
| * Animometer/index.html: Make structure similar to developer.html. |
| * Animometer/resources/debug-runner/animometer.css: Remove most of the |
| button rules since they are superfluous. Move the progress bar to the |
| top, fixed. Update the results page rules. |
| * Animometer/resources/debug-runner/animometer.js: Remove most of the |
| additions to sectionsManager since they are no longer needed. |
| (setSectionHeader): Updates header of the section. |
| (window.suitesManager._updateStartButtonState): Update selector. |
| (showResults): Add keypress event for selecting different data for |
| copy/paste. Update how the results are populated. Include full test |
| JSON in a textarea, rather than requiring a button press. |
| (showTestGraph): |
| * Animometer/resources/debug-runner/tests.js: Update structure of Headers. Define different kinds of headers. Headers can control their |
| title, and the text used as the cell contents, including class name. |
| * Animometer/resources/extensions.js: |
| (ResultsTable): Update to include a flattened version of the headers, |
| used while populating table contents. Remove unneeded helper functions |
| for creating the table. Rename "show" to "add". |
| * Animometer/resources/runner/animometer.css: Update rules to |
| accommodate the new structure. |
| * Animometer/resources/runner/animometer.js: |
| (window.sectionsManager.setSectionScore): Helper function to set the |
| score and mean for a section. |
| (window.sectionsManager.populateTable): Helper function to set the table. |
| (window.benchmarkController.showResults): Refactor. |
| (window.benchmarkController.selectResults): Update selectors. |
| * Animometer/resources/runner/tests.js: Set Headers. Debug harness |
| extends it. |
| |
| Update debug runner to have similar names to the basic runner. Include |
| that page's CSS and remove extraneous CSS rules. |
| |
| Get rid of the statistics table #record. |
| |
| * Animometer/developer.html: Rename #home to #intro. Rename .spacer to hr. |
| * Animometer/resources/debug-runner/animometer.css: Set to flexbox when selected. |
| * Animometer/resources/debug-runner/animometer.js: Remove recordTable. |
| (window.suitesManager._updateStartButtonState): Update selector to #intro. |
| (setupRunningSectionStyle): Deleted. |
| |
| * Animometer/resources/runner/animometer.css: |
| (#test-container.selected): Change to flex-box only when visible. |
| |
| Remove recordTable. |
| * Animometer/resources/debug-runner/benchmark-runner.js: |
| (BenchmarkRunner.prototype._runTestAndRecordResults): |
| * Animometer/resources/runner/tests.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js: |
| * Animometer/tests/examples/resources/canvas-electrons.js: |
| * Animometer/tests/examples/resources/canvas-stars.js: |
| * Animometer/tests/misc/resources/compositing-transforms.js: |
| * Animometer/tests/resources/main.js: |
| * Animometer/tests/resources/stage.js: |
| (StageBenchmark): Remove _recordTable. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| * Animometer/tests/simple/resources/simple-canvas.js: |
| * Animometer/tests/template/resources/template-canvas.js: |
| * Animometer/tests/template/resources/template-css.js: |
| * Animometer/tests/template/resources/template-svg.js: |
| * Animometer/tests/text/resources/layering-text.js: |
| |
| * Animometer/resources/debug-runner/animometer.js: |
| (willStartFirstIteration): Fix selector, since results-table is used |
| in multiple places, so it cannot be an id. |
| |
| Make it possible to select the scores, or the whole table data, |
| by cycling through different selections through key press of 's'. |
| |
| * Animometer/resources/runner/animometer.js: |
| (window.benchmarkController.showResults): Attach a keypress handler |
| if it hasn't been added already. |
| (window.benchmarkController.selectResults): |
| * Animometer/resources/runner/tests.js: Cycle through different |
| ranges. |
| |
| Fix a few fly-by errors. |
| |
| * Animometer/resources/debug-runner/benchmark-runner.js: |
| (BenchmarkRunnerState.prototype.prepareCurrentTest): Update the frame relative path |
| since the files are now in the top directory instead of inside runner/. |
| (BenchmarkRunner.prototype._runTestAndRecordResults): Incorrect reference to function. |
| (BenchmarkRunner.prototype.step): Member variable is never used. |
| |
| A little stylistic cleanup. |
| |
| * Animometer/resources/debug-runner/benchmark-runner.js: |
| * Animometer/resources/extensions.js: |
| (window.DocumentExtension.createElement): |
| * Animometer/tests/resources/main.js: |
| (Benchmark.prototype.record): |
| * Animometer/tests/resources/stage.js: |
| (StageBenchmark.prototype.showResults): Reverse progress and message. |
| The message appears less frequently than the progress. |
| * Animometer/tests/simple/resources/simple-canvas.js: |
| (SimpleCanvasBenchmark): Remove unused options. |
| |
| Add newer version of harness in a new page. Consolidate differences between the two |
| pages. |
| |
| * Animometer/developer.html: Include runner/animometer.js. Rename the JS function |
| to run the benchmark to startBenchmark() instead of startTest(). Rename #running to |
| #test-container. |
| * Animometer/index.html: Added. Similarly calls startBenchmark() and has #test-container. |
| * Animometer/resources/debug-runner/animometer.css: Make the canvas 2:1 (1200px x 800px) |
| instead of 4:3. |
| |
| Split out benchmarkRunnerClient and benchmarkController. |
| |
| * Animometer/resources/debug-runner/animometer.js: Move needed functions out of |
| benchmarkRunnerClient, and leave the rest here to extend that object. Get rid of _resultsTable |
| and move populating the results table into benchmarkController. Rename _resultsDashboard |
| to results and make it accessible for other objects to use. |
| (willAddTestFrame): This is unnecessary. Remove. |
| |
| (window.sectionsManager.showScore): Grab it from the results object instead of |
| benchmarkRunnerClient. |
| (window.sectionsManager.showSection): Deleted. Moved to runner/animometer.js. |
| |
| (window.benchmarkController._runBenchmark): Deleted. Mostly moved into _startBenchmark. |
| (window.benchmarkController.startBenchmark): Refactor to call _startBenchmark. |
| (window.benchmarkController.showResults): Include most of benchmarkRunnerClient.didFinishLastIteration() |
| here. |
| |
| * Animometer/resources/debug-runner/benchmark-runner.js: |
| (BenchmarkRunner.prototype._appendFrame): Remove unneeded call to willAddTestFrame. |
| * Animometer/resources/extensions.js: |
| (ResultsDashboard): Change the class to process the sampler data on-demand and hold onto that data |
| for later referencing. |
| (ResultsDashboard.prototype.toJSON): Deleted. |
| (ResultsDashboard.prototype._processData): Rename toJSON to _processData since it's not really |
| outputting JSON. Store the processed data into a member variable that can be referenced later. |
| (ResultsDashboard.prototype.get data): Process the data if it hasn't already. |
| (ResultsDashboard.prototype.get score): Process the data if it hasn't already, then return the |
| aggregate score. |
| (ResultsTable.prototype._showHeader): When outputting the results to a table, don't force the |
| need for an empty children array. This was to allow for a header row in the table that spanned |
| multiple columns. In the simpler harness, this is not needed. |
| (ResultsTable.prototype._showEmptyCells): |
| (ResultsTable.prototype._showTest): This hardcoded the columns. At least for the name and score, |
| which is the bare minimum needed for the simpler harness, key off of the header name provided. |
| * Animometer/resources/runner/animometer.css: Added. Use a similar 2:1 ratio. The score tables are |
| split into the data and the headers, and are also displayed RTL so that a later patch allows a |
| user to copy-paste the data easily. |
| * Animometer/resources/runner/animometer.js: Added. Use a simpler version of benchmarkRunnerClient. |
| The debug harness will extend these classes. |
| (window.benchmarkController._startBenchmark): Used by both harnesses. |
| (window.benchmarkController.startBenchmark): Set hard-coded options. |
| (window.benchmarkController.showResults): Includes most of benchmarkRunnerClient.didFinishLastIteration() |
| here. |
| |
| Get rid of utilities.js. Move it all into extensions.js. |
| |
| * Animometer/resources/extensions.js: |
| * Animometer/tests/resources/utilities.js: Removed. |
| |
| * Animometer/tests/bouncing-particles/bouncing-canvas-images.html: Remove script link. |
| * Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html: Ditto. |
| * Animometer/tests/bouncing-particles/bouncing-css-images.html: Ditto. |
| * Animometer/tests/bouncing-particles/bouncing-css-shapes.html: Ditto. |
| * Animometer/tests/bouncing-particles/bouncing-svg-images.html: Ditto. |
| * Animometer/tests/bouncing-particles/bouncing-svg-shapes.html: Ditto. |
| * Animometer/tests/examples/canvas-electrons.html: Ditto. |
| * Animometer/tests/examples/canvas-stars.html: Ditto. |
| * Animometer/tests/misc/compositing-transforms.html: Ditto. |
| * Animometer/tests/simple/simple-canvas-paths.html: Ditto. |
| * Animometer/tests/template/template-canvas.html: Ditto. |
| * Animometer/tests/template/template-css.html: Ditto. |
| * Animometer/tests/template/template-svg.html: Ditto. |
| * Animometer/tests/text/layering-text.html: Ditto. |
| |
| Split tests.js into two. Add a new suite to runner/tests.js. |
| |
| * Animometer/developer.html: Update the script order. Scripts from |
| debug-runner/ will always build on those from runner/, and have the |
| same name. |
| * Animometer/resources/debug-runner/tests.js: Move "complex examples" |
| suite into "miscellaneous tests". |
| (Suite): Deleted. |
| (Suite.prototype.prepare): Deleted. |
| (Suite.prototype.run): Deleted. |
| (suiteFromName): Deleted. |
| * Animometer/resources/runner/tests.js: Added. Take definitions and |
| functions needed by the test harness. Leave the test suites behind. |
| (Suite): Moved from debug script. |
| (Suite.prototype.prepare): Ditto. |
| (Suite.prototype.run): Ditto. |
| (suiteFromName): Ditto. |
| (testFromName): Ditto. |
| |
| Move benchmark resources out into resources/debug-runner, and update URLs. |
| |
| * Animometer/developer.html: Renamed from PerformanceTests/Animometer/runner/animometer.html. |
| * Animometer/resources/debug-runner/animometer.css: Renamed from PerformanceTests/Animometer/runner/resources/animometer.css. |
| * Animometer/resources/debug-runner/animometer.js: Renamed from PerformanceTests/Animometer/runner/resources/animometer.js. |
| * Animometer/resources/debug-runner/benchmark-runner.js: Renamed from PerformanceTests/Animometer/runner/resources/benchmark-runner.js. |
| * Animometer/resources/debug-runner/d3.min.js: Renamed from PerformanceTests/Animometer/runner/resources/d3.min.js. |
| * Animometer/resources/debug-runner/graph.js: Renamed from PerformanceTests/Animometer/runner/resources/graph.js. |
| * Animometer/resources/debug-runner/tests.js: Renamed from PerformanceTests/Animometer/runner/resources/tests.js. |
| |
| 2015-12-11 Jon Lee <jonlee@apple.com> |
| |
| Improve Animometer on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=152180 |
| |
| Reviewed by Simon Fraser. |
| |
| Improve experience on phones. Make the canvas take |
| up the whole screen. |
| |
| * Animometer/runner/animometer.html: Add meta viewport. |
| Remove the container div. |
| * Animometer/runner/resources/animometer.css: Have buttons lay |
| out vertically. Update detail arrow glyph. Make the suites and |
| options section lay out vertically. Remove the top spacers since |
| we want the canvas to take over the whole screen. Minimal display |
| is recommended for use. |
| |
| 2015-12-07 Jon Lee <jonlee@apple.com> |
| |
| Update suites for benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=151957 |
| |
| Reviewed by Simon Fraser. |
| |
| * Animometer/runner/animometer.html: Use spacers instead of relying on |
| justify-content center to center the content. That allows the opening screen |
| to grow downward when expanding the list of choices, otherwise it expands |
| from the center, and off the top edge of the screen. |
| * Animometer/runner/resources/animometer.css: |
| (.tree): Don't overflow scroll. |
| (.tree > li > label.tree-label:before): Use better glyphs. |
| (.tree > li > :checked ~ label.tree-label:before): |
| (main): Using flex-start for justify-content so that if the section grows too |
| big it gets pinned to the top edge of the document instead of growing past it. |
| (.spacer): Make the spacers have a minimum 20px and grow evenly. |
| (section#home): Add a min-height so that the border will expand if the suite |
| tests shown make the section grow past the height. |
| * Animometer/runner/resources/animometer.js: Update the selectors. |
| (window.suitesManager._treeElement): |
| (window.suitesManager._suitesElements): |
| (window.suitesManager._editsElements): |
| |
| 2015-12-07 Jon Lee <jonlee@apple.com> |
| |
| Update options for benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=151956 |
| |
| Reviewed by Simon Fraser. |
| |
| Move "Fix test complexity" and "Adaptive" checkboxes into a radio group. |
| |
| Move "Show running results" into a radio group, and add options to remove the HUD. |
| |
| * Animometer/runner/animometer.html: Get rid of the preamble. Wrap the options |
| in a form for easier referencing in JS. |
| * Animometer/runner/resources/animometer.css: Show the surrounding border if the |
| body's display-minimal class name is set. |
| * Animometer/runner/resources/animometer.js: |
| |
| Update the way optionsManager gets and sets default values. Include support for |
| radio groups. |
| (window.optionsManager.valueForOption): |
| (window.optionsManager.updateUIFromLocalStorage): |
| (window.optionsManager.updateLocalStorageFromUI): |
| |
| (window.benchmarkRunnerClient.willStartFirstIteration): |
| (window.sectionsManager.setupRunningSectionStyle): |
| (window.suitesManager._treeElement): Fly-by whitespace fix. |
| (window.suitesManager._suitesElements): Ditto. |
| (window.suitesManager.updateEditsElementsState): Update options check. |
| (window.suitesManager.updateDisplay): Add a new update function for the HUD. |
| Attach a class to the body depending on the user's choice. |
| (window.benchmarkController.initialize): Add an event listener when the form |
| radio buttons update. |
| (window.benchmarkController.onFormChanged): |
| (window.optionsManager._optionsElements): Deleted. |
| (window.optionsManager._adaptiveTestElement): Deleted. |
| (window.benchmarkController.onChangeAdaptiveTestCheckbox): Deleted. |
| * Animometer/tests/resources/main.js: |
| (Benchmark.prototype.update): Update options checks. |
| * Animometer/tests/resources/stage.js: Update option check. |
| (StageBenchmark.prototype.showResults): |
| |
| 2015-12-01 Simon Fraser <simon.fraser@apple.com> |
| |
| Add a basic compositing Animometer test |
| https://bugs.webkit.org/show_bug.cgi?id=151724 |
| |
| Reviewed by Dean Jackson. |
| |
| Add a "bouncing particles" test that moves composited layers around, optionally with a filter. |
| |
| This is added under a new "Miscellaneous" category. |
| |
| Remove the test templates category from the UI. |
| |
| * Animometer/runner/resources/tests.js: |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js: |
| (BouncingCssShape.prototype.animate): |
| * Animometer/tests/misc/compositing-transforms.html: Added. |
| * Animometer/tests/misc/resources/compositing-transforms.js: Added. |
| (BouncingCompositedImage): |
| (BouncingCompositedImage.prototype._move): |
| (BouncingCompositedImage.prototype.animate): |
| (CompositingTransformsStage): |
| (CompositingTransformsStage.prototype.createParticle): |
| (CompositingTransformsStage.prototype.particleWillBeRemoved): |
| (CompositedTransformsBenchmark): |
| (CompositedTransformsBenchmark.prototype.createStage): |
| (window.benchmarkClient.create): |
| |
| 2015-11-30 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Fix the graphics benchmark complexity bounds adjustment |
| https://bugs.webkit.org/show_bug.cgi?id=151670 |
| |
| Reviewed by Simon Fraser. |
| |
| Make sure the graphics benchmark complexity bounds adjustment is applied |
| to the absolute lower bound. |
| |
| * Animometer/tests/resources/math.js: |
| (PIDController.prototype._saturate): |
| |
| 2015-11-30 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Add an option to select the results form the graphics benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=151666 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We need an easy way to select the graphics benchmark results table such |
| that when it is copied to the clipboard, rich text format is set to the |
| clipboard. |
| |
| * Animometer/runner/animometer.html: Add a new button to select the results table or JSON. |
| |
| * Animometer/runner/resources/animometer.js: |
| (window.sectionsManager._sectionDataElement): Selects the container <data> element. |
| (window.sectionsManager._sectionDataDivElement): Replace a literal string with a string table entry. |
| (window.sectionsManager.showTestName): Replace a literal string with a string table entry. |
| (window.sectionsManager.selectData): Selects the container <data> element in a selection. |
| (window.sectionsManager.selectDataContents): Select the contents of container <data> element in a selection. |
| (window.benchmarkController.selectResults): Selects the results table. |
| (window.benchmarkController.showJSON): Function rename. |
| (window.benchmarkController.selectJSON): Selects the contents of the results JSON. |
| (window.benchmarkController.showJson): Deleted. |
| |
| 2015-11-20 Simon Fraser <simon.fraser@apple.com> |
| |
| Animometer: graphs should not do interpolation |
| https://bugs.webkit.org/show_bug.cgi?id=151526 |
| |
| Reviewed by Simon Fraser. |
| |
| Having the graphs do interpolation is misleading, because you can't see the actual data. |
| |
| Also remove "shape-rendering: crispEdges;" so the lines get antialiased. |
| |
| * Animometer/runner/resources/animometer.css: |
| (section#test-graph > data > svg): Deleted. |
| * Animometer/runner/resources/graph.js: |
| (graph): Deleted. |
| |
| 2015-11-19 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Calculate the graphics benchmark test gain adaptively |
| https://bugs.webkit.org/show_bug.cgi?id=151208 |
| |
| Reviewed by Darin Adler. |
| |
| We need to calculate the gain of the graphics benchmark tests adaptively |
| and get rid of the gain and limits parameters we have to choose manually |
| for every test. We are going to use the classic Ziegler–Nichols method for |
| calculating the gain and integral and derivative times. We are going to |
| try moving on a cubic curve during the manual stage from y0 to reach ysp. |
| We also going to use a saturation actuator to ensure the system does not |
| fluctuate. |
| |
| * Animometer/resources/extensions.js: |
| (ResultsTable.prototype._isNoisyMeasurement): Fix a parameter name. |
| (ResultsTable.prototype._isNoisyTest): Since score is a member of testResults, we need to limit our search to frame rate and complexity. |
| (ResultsTable.prototype._showTest): Pass the correct parameter to _isNoisyMeasurement(). |
| |
| * Animometer/resources/strings.js: Fix the indentation and name and value of a string. |
| |
| * Animometer/runner/resources/tests.js: Remove all the manual gains and limits parameters which had to be passed to every test. |
| |
| * Animometer/tests/resources/main.js: |
| (BenchmarkState.prototype.currentStage): Fix an enum name. |
| (Benchmark): Get rid of manual gain and limits. |
| (Benchmark.prototype.update): Simplify the calculation by having all the times in ms. |
| |
| * Animometer/tests/resources/math.js: |
| (PIDController): Get rid of the manual gain and limits and the magic numbers for Ti and Td. |
| (PIDController.prototype._yPosition): Tells whether the test current output is moving towards the set-point or away from it. |
| (PIDController.prototype._distanceUltimate): Calculates the ultimate distance from y0 after time t using a cubic formula. |
| (PIDController.prototype._distance): Calculates the distance of y relative to y0. |
| (PIDController.prototype._gainIncrement): Decides how much the proportional gain should be increased during the manual gain stage. |
| (PIDController.prototype._updateStage): Updates the stage of the controller based on its current stage and the system output. |
| (PIDController.prototype._tuneP): Tunes the system before calculating the PID controller gains. |
| (PIDController.prototype._tunePID): PID tuning function. |
| (PIDController.prototype._tune): |
| (PIDController.prototype._saturate): |
| (PIDController.prototype.tune): Manages calculating the controller parameters. It then returns a PID tuning value. |
| (PIDController.prototype._sat): Deleted. We may need to return it back but the limits have to be calculated adaptively not manually. |
| |
| 2015-11-17 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Reorganize the graphics benchmark string table |
| https://bugs.webkit.org/show_bug.cgi?id=151334 |
| |
| Reviewed by Simon Fraser. |
| |
| Make the graphics benchmark string table be an object of sub-objects. Each |
| sub-object represents an associative array, the key is the string name and |
| the value is the string data. |
| |
| * Animometer/resources/extensions.js: |
| (ResultsDashboard.prototype.toJSON): |
| (ResultsTable.prototype._showGraph): |
| (ResultsTable.prototype._showJSON): |
| (ResultsTable.prototype._isNoisyMeasurement): |
| (ResultsTable.prototype._isNoisyTest): |
| (ResultsTable.prototype._showTest): |
| (ResultsTable.prototype._showSuite): |
| (ResultsTable.prototype._showIteration): |
| * Animometer/resources/sampler.js: |
| (Sampler.prototype.toJSON): |
| * Animometer/resources/strings.js: |
| * Animometer/runner/resources/animometer.js: |
| (window.benchmarkRunnerClient.didFinishLastIteration): |
| (window.suitesManager.updateLocalStorageFromJSON): |
| (window.benchmarkController.showResults): |
| (window.benchmarkController.showJson): |
| (window.benchmarkController.showTestGraph): |
| (window.benchmarkController.showTestJSON): |
| * Animometer/runner/resources/tests.js: |
| * Animometer/tests/resources/main.js: |
| |
| 2015-11-17 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Disable flattening the stage iframe of the graphics benchmark when running on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=151361 |
| |
| Reviewed by Simon Fraser. |
| |
| Use fixed size for stage iframe of the graphics benchmark to disable |
| flattening the iframe while animating the particles. Also ensure the |
| bouncing particles do not go outside the iframe's boundaries. |
| |
| * Animometer/runner/resources/animometer.css: |
| (section#running > #running-test > iframe): |
| (@media screen and (min-device-width: 1800px)): |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| (BouncingParticle.prototype.animate): |
| |
| 2015-11-17 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Use the media queries to dynamically set the stage for the graphics benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=151327 |
| |
| Reviewed by Simon Fraser. |
| |
| Clean setting the benchmark css rules by using the media queries. Accessing |
| document.stylesheets.cssRules seems to be unreliable. Fix the test harness |
| load event listener invocation. And also remove the options for normalizing |
| the stage resolution for retina display. |
| |
| * Animometer/resources/extensions.js: |
| (window.DocumentExtension.insertCssRuleAfter): Deleted. |
| * Animometer/runner/animometer.html: |
| * Animometer/runner/resources/animometer.css: |
| (@media screen and (min-device-width: 1800px)): |
| * Animometer/runner/resources/animometer.js: |
| (window.sectionsManager.setupRunningSectionStyle): |
| (window.benchmarkController.initialize): |
| (window.sectionsManager.setupSectionStyle): Deleted. |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| (BouncingParticlesStage): |
| * Animometer/tests/text/layering-text.html: |
| * Animometer/tests/text/resources/layering-text.js: |
| (LayeringTextStage): |
| (LayeringTextStage.prototype._setFontSize): Deleted. |
| |
| 2015-11-16 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Remove the option for animating using setInterval from the graphics benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=151283 |
| |
| Reviewed by Darin Adler. |
| |
| Get rid of the option to run animation using setInterval(). |
| |
| * Animometer/tests/resources/main.js: |
| (Animator.prototype.animate): |
| (Benchmark): |
| (Benchmark.prototype.start): |
| (Animator.prototype.start): Deleted. |
| |
| 2015-11-16 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Highlight the alarming test results in the graphics benchmark results page |
| https://bugs.webkit.org/show_bug.cgi?id=151286 |
| |
| Reviewed by Simon Fraser. |
| |
| When showing the results of a test in the graphics benchmark the following |
| criteria is going to be applied: |
| |
| 1. If the standard deviation of the test complexity or the frame rate is |
| equal to or more than 10%, the standard deviation and the test name |
| will be displayed in red. |
| 2. If the average frame rate is not in the range = [(desired_frame_rate - 2) |
| .. (desired_frame_rate + 2)], the average frame rate and the test name will |
| be displayed in red. |
| |
| * Animometer/resources/extensions.js: |
| (ResultsTable.prototype._showHeaderRow): |
| (ResultsTable.prototype._showHeader): |
| (ResultsTable.prototype._showEmptyCell): |
| (ResultsTable.prototype._showText): |
| (ResultsTable.prototype._showFixedNumber): |
| (ResultsTable.prototype.): |
| (ResultsTable.prototype._showGraph): |
| (ResultsTable.prototype._showJSON): |
| (ResultsTable.prototype._isAlarmingMeasurement): |
| (ResultsTable.prototype._isAlarmingTestResults): |
| (ResultsTable.prototype._showEmptyCells): |
| (ResultsTable.prototype._showEmptyRow): |
| (ResultsTable.prototype._showTest): |
| (ResultsTable.prototype._showSuite): |
| (ResultsTable.prototype._showIteration): |
| (ResultsTable.prototype.showRecord): |
| (ResultsTable.prototype.showIterations): |
| (ResultsTable.prototype._showEmpty): Deleted. |
| * Animometer/runner/resources/animometer.js: |
| (window.benchmarkRunnerClient.didFinishLastIteration): |
| * Animometer/tests/resources/stage.js: |
| (StageBenchmark.prototype.showResults): |
| |
| 2015-11-16 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Clean referencing the options object in the graphics benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=151284 |
| |
| Reviewed by Simon Fraser. |
| |
| Get rid of the Benchmark.options member and rely only on the private member |
| Benchmark._options. The animator need to have its own options member instead |
| of accessing it from its reference to Benchmark object. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js: |
| (BouncingCanvasParticlesAnimator): |
| (BouncingCanvasParticlesBenchmark.prototype.createAnimator): |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| (BouncingParticle.prototype.animate): |
| (BouncingParticlesAnimator): |
| (BouncingParticlesBenchmark.prototype.createAnimator): |
| * Animometer/tests/examples/resources/canvas-electrons.js: |
| (CanvasElectronsStage.prototype.animate): |
| (CanvasElectronsAnimator): |
| (CanvasElectronsBenchmark.prototype.createAnimator): |
| (window.benchmarkClient.create): |
| * Animometer/tests/examples/resources/canvas-stars.js: |
| (CanvasStarsStage.prototype.animate): |
| (CanvasStarsAnimator): |
| (CanvasStarsBenchmark.prototype.createAnimator): |
| (window.benchmarkClient.create): |
| * Animometer/tests/resources/main.js: |
| (BenchmarkState.prototype.currentProgress): |
| (Animator): |
| (Animator.prototype.animate): |
| (Benchmark): |
| (Benchmark.prototype.update): |
| * Animometer/tests/resources/stage.js: |
| (Stage.prototype.clear): |
| (StageAnimator): |
| (StageBenchmark.prototype.createAnimator): |
| (StageBenchmark.prototype.tune): |
| (StageBenchmark.prototype.showResults): |
| * Animometer/tests/simple/resources/simple-canvas.js: |
| (SimpleCanvasStage.prototype.animate): |
| (SimpleCanvasAnimator): |
| (SimpleCanvasAnimator.prototype.animate): |
| (SimpleCanvasBenchmark.prototype.createAnimator): |
| * Animometer/tests/template/resources/template-canvas.js: |
| (TemplateCanvasStage.prototype.animate): |
| (TemplateCanvasBenchmark.prototype.createAnimator): |
| (window.benchmarkClient.create): |
| |
| 2015-11-13 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Eliminate a request for layout every time an item is added to the stage of the graphics benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=151289 |
| |
| Reviewed by Simon Fraser. |
| |
| Cache the stage size when it is created instead of requesting every time |
| an object is added via clientWidth and clientHeight. |
| |
| * Animometer/resources/extensions.js: |
| (Insets.elementPadding): |
| * Animometer/tests/resources/stage.js: |
| (Stage): |
| (Stage.prototype.get size): |
| |
| 2015-11-06 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Initialize the graphics benchmark's Kalman filter with estimated 60 FPS |
| https://bugs.webkit.org/show_bug.cgi?id=150965 |
| |
| Reviewed by Darin Adler. |
| |
| This should give the benchmark more accurate reading at warmup time. And |
| hence we can safely reduce the test running time to be 10 seconds. |
| |
| * Animometer/runner/animometer.html: |
| Add "defer" back when loading resources/animometer.js since this script |
| depends on many other scripts and we need to wait till the page is parsed. |
| Also change the default test interval to be 10 seconds. |
| |
| * Animometer/runner/resources/graph.js: |
| (graph): Make the test results curves smoother. |
| |
| * Animometer/tests/resources/main.js: |
| (Animator): Initialize the Kalman filter with 60 FPS which should be true |
| if the test page is empty. |
| |
| (Animator.prototype.animate): |
| * Animometer/tests/resources/math.js: |
| (KalmanEstimator): Fix the initial value of _vecX_est. |
| _vecX_est[0] = current FPS (= 60FPS when the test page is empty) |
| _vecX_est[1] = first time derivative of FPS (=0; FPS has been constant). |
| _vecX_est[2] = second time derivative of FPS (=0; since _vecX_est[1]=0). |
| (KalmanEstimator.prototype.estimate): Add some comments. |
| |
| 2015-11-04 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Remove "defer" from the scripts' references in the graphics benchmark home page |
| https://bugs.webkit.org/show_bug.cgi?id=150915 |
| |
| Reviewed by Simon Fraser. |
| |
| It causes the benchmark to be very flakey. |
| |
| * Animometer/runner/animometer.html: |
| |
| 2015-11-01 Said Abou-Hallawa <sabouhallawa@apple,com> |
| |
| Add an option to make the graphics benchmark runs a specific test with fixed complexity |
| https://bugs.webkit.org/show_bug.cgi?id=150529 |
| |
| Reviewed by Darin Adler. |
| |
| Beside each test in the suites tree, we are going to show the complexity |
| arithmetic mean of the of the last run in an edit control. Based on a |
| new option these edit controls will all be visible or hidden. If they are |
| visible their values can be changed. The benchmark runner if it run in |
| the non-adaptive mode will set the complexity of the test to the passed |
| value and will not change it ever. The animator will animate the test and |
| frame rate will also be measured. |
| |
| * Animometer/runner/animometer.html: Add a new option for the non-adaptive mode. |
| |
| * Animometer/runner/resources/animometer.css: |
| (section#home input[type="number"]): Define the width of all the edit control in the <home> section. |
| (section#home > suites input[type="number"]): The edit controls in the <suites> box will be right aligned and hidden by default. |
| (section#home > suites input[type="number"].selected): When the class "selected" is added, the edit controls will be visible. |
| (section#home > options > label > input[type="number"]): Deleted. |
| |
| * Animometer/runner/resources/animometer.js: |
| (window.benchmarkRunnerClient.didFinishLastIteration): Update the local storage with the results of each test. |
| (window.optionsManager._adaptiveTestElement): Returns the checkbox for setting the adaptive test option. |
| (window.suitesManager._editElement): Returns the edit element associated with each test element in the suites tree. |
| (window.suitesManager._editsElements): Returns a list of all the elements in the <suites> box. |
| (window.suitesManager._localStorageNameForTest): Change this function to take strings. |
| (window.suitesManager._createTestElement): Adds an edit control beside each test. |
| (window.suitesManager.updateEditsElementsState): Adds/Removes the 'selected' class to/from all the tests edit elements. |
| (window.suitesManager.updateUIFromLocalStorage): Reads the edit control value from the local storage. |
| (window.suitesManager.updateLocalStorageFromUI): Saves the edit control value to the local storage. |
| (window.suitesManager.updateLocalStorageFromJSON): Saves the last run results to the local storage. |
| (window.benchmarkController.initialize): Shows/Hides the test edit controls based on the adaptive test option. |
| (window.benchmarkController.onChangeAdaptiveTestCheckbox): An onchange event handler for the adaptive test checkbox. |
| |
| * Animometer/tests/resources/main.js: |
| (Benchmark.prototype.update): Fix the complexity of the test if the running mode is non-adaptive test and desired complexity is not zero. |
| (window.runBenchmark): Add the test complexity as a new benchmark option. |
| |
| 2015-11-01 Said Abou-Hallawa <sabouhallawa@apple,com> |
| |
| Make the size of the benchmark canvas adaptive to the screen size and screen resolution |
| https://bugs.webkit.org/show_bug.cgi?id=150530 |
| |
| Reviewed by Darin Adler. |
| |
| We want to set the size of the benchmark stage dynamically such that it |
| depends on the screen resolution and the device scale factor. This patch |
| does more than that because the home page css was not done properly. To |
| use the flex box layout, the animometer.css has to be rewritten almost from |
| scratch. The suites tree has to be rewritten also because it was not collapsing |
| and with the flex box layout it was going outside of the window area. The |
| options handling and the local storage handling had to be rewritten to |
| allow more flexibility with this patch and the future patches. The code |
| in animometer.js was reorganized into objects to allow distributing the code |
| nicely among separate entities. |
| |
| * Animometer/resources/extensions.js: |
| (Point.elementClientSize): Returns the client size of an HTMLElement as a Point object. |
| (Insets.prototype.get width): Follow the function opening brace style guidelines. |
| (Insets.prototype.get height): |
| (Insets.prototype.get size): Returns the size of an Insets as a Point object. |
| |
| (window.DocumentExtension): Provides document helper functions. It should be assailable from the runner and the tests. |
| (window.DocumentExtension.createElement): Creates an HTMLElement given its name, attributes and parentElement. |
| (window.DocumentExtension.createSvgElement): Creates an SVGElement given its name, attributes and parentElement (moved from utilities.js). |
| (window.DocumentExtension.insertCssRuleAfter): Inserts a CSS rule after an exiting rule given its text. |
| |
| (ResultsTable.prototype._showHeader): Use DocumentExtension functions. |
| (ResultsTable.prototype._showGraph): Use DocumentExtension functions and create a real button for "Graph..." option. |
| (ResultsTable.prototype._showJSON): Use DocumentExtension functions and create a real button for "JSON..." option. |
| (Options): Deleted. |
| |
| * Animometer/runner/animometer.html: Restructure the page to use the flex box layout. |
| |
| * Animometer/runner/resources/animometer.css: |
| (html,body): |
| (button): |
| |
| (button.large-button):The large button appears in the animometer.html. |
| (button.large-button:active): |
| (button.large-button:disabled): |
| |
| (button.small-button): The small button appears in the results table. |
| (button.small-button:active): |
| |
| (.tree): The tree class is used to list the suites and their tests. |
| (.tree .expand-button): This button expands a tree element. |
| (.tree .expand-button ~ ul): Hide the children (<ul>...</ul>) of a parent node by default. |
| (.tree .expand-button:checked ~ ul): Show the children of a parent node only when checked. |
| (.tree ul): Hide the list bullets. |
| (.tree li): Indent every node in the tree relative to its parent. |
| (.tree ul li): Indent all the non top level nodes only (the tests nodes in our case). |
| (.tree > li:last-child): Do not indent the bottom of the last child node. |
| (.tree-label): Style for all the labels in the tree. |
| (label.tree-label): Style for the labels in the top level only (the suites nodes in our case). |
| (label.tree-label:before): Style the unchecked case of the expand-button. |
| (:checked ~ label.tree-label:before): Style the checked case of the expand-button. |
| |
| (table.results-table): The results table appears while running the test and at the end. |
| (.results-table td): |
| (.results-table th): |
| |
| (div.results-json): The JSON div appears per test or for the whole run. |
| |
| (main): This is the flex box container. |
| |
| (section): A section is displayed exclusively inside the <main>. It is hidden by default. |
| (section.selected): When it is selected, its layout is flex layout. |
| (section > footer): The header or the footer of a section should not take more than 15% of the container. |
| |
| (section#home): The home section has <suites> and <options> parts to be laid out in the middle. |
| (section#home > options): |
| (section#home > suites): The <suites> should not take more than 40% of the width. |
| (section#home > options > label): The benchmark title. |
| (section#home > header > h2): The benchmark title. |
| (section#home > options > label > input[type="number"]): Sets the width of the option edit control. |
| |
| (section#running): The running section contain the runner <iframe> which takes the whole area of the <main>. |
| (section#running > #running-test): This is the <iframe> container. |
| (section#running > #running-test > iframe): The <iframe> is created by the runner for each test. |
| (section#running > #progress): This is the progress bar. |
| (section#running > #progress > #progress-completed): This is another element which grows while the runner is progressing. |
| (section#running > #record): This the container of the record results table which is shown while running a test. |
| |
| (section#results): |
| (section#json): |
| (section#test-json): |
| (section#test-graph): All these sections have the same layout. A <data> element is laid out between <header> and <footer>. |
| |
| (section#results > data): |
| (section#json > data): |
| (section#test-json > data): |
| (section#test-graph > data): The <data> element should take 70% of the <section>. |
| |
| (section#test-graph > data > svg): |
| (.axis line): |
| (.left-samples): These styles are for the d3 graph. |
| |
| (section#test-json > data): This is the style of the JSON <data> element. |
| |
| (iframe): Deleted. |
| (label, p): Deleted. |
| (section > p): Deleted. |
| (section#home > p): Deleted. |
| (section#home > p:first-child): Deleted. |
| (#testContainer): Deleted. |
| (section#running #progress-completed): Deleted. |
| (section#results > table): Deleted. |
| (section#results > table td, th): Deleted. |
| (section#results > table tr.alt, td): Deleted. |
| (section#results > table th): Deleted. |
| (section#json > textarea): Deleted. |
| (.options): Deleted. |
| (.options p): Deleted. |
| (#suites ul): Deleted. |
| (#suites ul ul): Deleted. |
| (#suites ul ul input, #suites ul ul label): Deleted. |
| (#suites.showTests ul ul): Deleted. |
| (.column): Deleted. |
| (input[type="number"]): Deleted. |
| (.buttons): Deleted. |
| (.small-button): Deleted. |
| (#graphContainer): Deleted. |
| (.right-samples): Deleted. |
| (.sample-time): Deleted. |
| (.left-mean): Deleted. |
| (.right-mean): Deleted. |
| |
| * Animometer/runner/resources/animometer.js: |
| (window.benchmarkRunnerClient.initialize): Initialize the client object with the options and the suites. |
| (window.benchmarkRunnerClient.willStartFirstIteration): Use new css selectors for results and the record table. |
| (window.benchmarkRunnerClient.didFinishLastIteration): Move the code which sets the JSON text to sectionsManager.showJSON(). |
| |
| (window.sectionsManager): Responsible of managing the <section>s elements inside animometer.html. |
| (window.sectionsManager._sectionHeaderH1Element): Return the <h1> inside the <header> of a given section. |
| (window.sectionsManager._sectionDataDivElement): Return the <div> inside the <data> of a given section. |
| (window.sectionsManager.showScore): Show the score of the last benchmark run. |
| (window.sectionsManager.showTestName): Show the test name for detailed results <section>. |
| (window.sectionsManager.showJSON): Shows the JSON text of the last benchmark or for a specific test. |
| (window.sectionsManager.showSection): Shows a specific <section> in the <main> container. |
| (window.sectionsManager.setupSectionStyle): Sets css attributes for all the <section>s. |
| (window.sectionsManager.setupRunningSectionStyle): Sets the css attributes for the running <section> only. |
| |
| (window.optionsManager): Responsible of managing the user options and streaming them to/form the localStorage. |
| (window.optionsManager._optionsElements): Returns the children <input> elements of the <options>. |
| (window.optionsManager.updateUIFromLocalStorage): Restore the values of the <options> UI elements from the local storage. |
| (window.optionsManager.updateLocalStorageFromUI): Saves the values of the <options> UI elements to the local storage. |
| |
| (window.suitesManager): Responsible of managing the user suites and streaming them to/form the localStorage. |
| (window.suitesManager._treeElement): Returns the suites tree container element. |
| (window.suitesManager._suitesElements): Returns a list of the suites elements. |
| (window.suitesManager._checkboxElement): Returns the checkbox element of a given suite. |
| (window.suitesManager._localStorageNameForTest): Generates a string for the tuple <suite, test> to be saved in the localStorage. |
| (window.suitesManager._updateSuiteCheckboxState): Updates the state of a suite checkbox from the state of its tests' checkboxes. |
| (window.suitesManager._updateStartButtonState): Updates the state of the start button from the state of the suites' checkboxes. |
| (window.suitesManager._onChangeSuiteCheckbox): Called when a suite checkbox is clicked. |
| (window.suitesManager._onChangeTestCheckbox): Called when a test checkbox is clicked. |
| (window.suitesManager._createSuiteElement): Creates suite node in the suites tree. |
| (window.suitesManager._createTestElement): Creates test node in the suites tree. |
| (window.suitesManager.createElements): Creates the suites tree dynamically from the array Suites. |
| (window.suitesManager.updateUIFromLocalStorage): Restore the values of the <suites> UI elements from the local storage. |
| (window.suitesManager.updateLocalStorageFromUI): aves the values of the <suites> UI elements to the local storage. |
| |
| (window.benchmarkController): This is the UI controller of the animometer.html page. |
| (window.benchmarkController.initialize): Called when the animometer.html page is loaded. |
| (window.benchmarkController._runBenchmark): Starts a benchmark run. |
| (window.benchmarkController.startTest): Called when the "Start Test" button is clicked. |
| (window.benchmarkController.showResults): Called at the end of the test to show the final results. |
| (window.benchmarkController.showJson): Called from the results page to show the JSON of the last benchmark run. |
| (window.benchmarkController.showTestGraph): Called from the results the table to show a graph for the samples of a specific test. |
| (window.benchmarkController.showTestJSON): Called from the results the table to show a JSON for the samples of a specific test. |
| |
| (showSection): Deleted. |
| (startTest): Deleted. |
| (showResults): Deleted. |
| (showJson): Deleted. |
| (showTestGraph): Deleted. |
| (showTestJSON): Deleted. |
| (initialize.toggleTestsCheckbox.onchange): Deleted. |
| (initialize): Deleted. |
| (updateSuiteSelection): Deleted. |
| (updateTestSelection): Deleted. |
| (updateSuiteCheckbox): Deleted. |
| (localStorageNameForTest): Deleted. |
| (populateSettings.): Deleted. |
| (populateSettings): Deleted. |
| |
| * Animometer/runner/resources/benchmark-runner.js: |
| (BenchmarkRunner): Pass the frameContainer element to the BenchmarkRunner. |
| (BenchmarkRunner.prototype._appendFrame): Remove unused parameter unwanted styling code. |
| (BenchmarkRunner.prototype.runMultipleIterations): Use the this._client.iterationCount instead of passing it as a parameter also. |
| |
| * Animometer/runner/resources/graph.js: |
| (graph): Calculate the size of the chart from the container element. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js: |
| (BouncingSvgImage): |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-particles.js: |
| (BouncingSvgParticlesStage.prototype._createDefs): |
| (BouncingSvgParticlesStage.prototype._createClipStar): |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js: |
| (BouncingSvgShape.prototype._createShape): |
| (BouncingSvgShapesStage.prototype.createGradient): |
| Call DocumentExtension.createSvgElement() instead of calling Utilities.createSvgElement(). |
| |
| * Animometer/tests/resources/main.js: |
| (Animator.prototype.animate): |
| (Benchmark): |
| (Benchmark.prototype.update): |
| * Animometer/tests/resources/stage.js: |
| (StageBenchmark.prototype.showResults): |
| Rename the options to match the <input> ids in animometer.html. |
| |
| * Animometer/tests/resources/utilities.js: |
| (window.Utilities.createSvgElement): Deleted. |
| |
| * Animometer/tests/text/layering-text.html: |
| * Animometer/tests/text/resources/layering-text.js: |
| (LayeringTextStage): |
| (LayeringTextStage.prototype._setFontSize): Sets the size of the text dynamically such that they all fit in one stage. |
| |
| 2015-10-29 Simon Fraser <simon.fraser@apple.com> |
| |
| Animometer computes frame rate incorrectly |
| https://bugs.webkit.org/show_bug.cgi?id=150698 |
| |
| Reviewed by Tim Horton. |
| |
| The existing code incremented this._frameCount after checking against this._dropFrameCount. |
| This has the effect of setting this._measureTimeOffset one frame too late, so |
| we were measuring only two frames, not three, and thus computing an incorrect fps. |
| |
| * Animometer/tests/resources/main.js: |
| (Animator.prototype.animate): |
| |
| 2015-10-27 Jon Lee <jonlee@apple.com> |
| |
| Add an option to make the graphics benchmark runs a specific test |
| https://bugs.webkit.org/show_bug.cgi?id=150528 |
| rdar://problem/23246614 |
| |
| Reviewed by Zalan Bujtas. |
| |
| Add a checkbox that lets the user list all of the available tests, and select |
| the ones to run repeatedly. The test checkboxes will update the state of the suite |
| checkbox. The selected tests are stored in localStorage to make it easy to do |
| repeated runs. |
| |
| * Animometer/runner/animometer.html: Add a checkbox to show individual tests. |
| Update other markup. |
| * Animometer/runner/resources/animometer.css: Make the settings area a little wider |
| to accommodate the longer names of the tests |
| * Animometer/runner/resources/animometer.js: |
| (startBenchmark): Change the way that the suites are fed into the benchmark |
| runner. Go through each of the suites and their tests, and create a new Suite |
| with just the enabled tests. While enumerating store the enabled tests into |
| localStorage. |
| (initialize): Initialization routine (taking over populateSettings). When the |
| checkbox for showing tests is toggled, add or remove a class on #suites to show |
| the individual tests. |
| (updateSuiteSelection): Called whenever the user toggles the checkbox for a suite. |
| Either select all or none of the tests. |
| (updateTestSelection): Called whenever the user toggles the checkbox for a test. |
| (updateSuiteCheckbox): Update the state of the test's suite's checkbox to |
| indeterminate if there is at least one enabled test, unchecked if none are selected, |
| and checked if all are selected. |
| (localStorageNameForTest): Helper function to get the name of the test to use as |
| a key to localStorage. |
| (populateSettings): Add the tests for each suite into an inner list. |
| |
| 2015-10-26 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Add an option to output the results of the graphics benchmark in JSON format |
| https://bugs.webkit.org/show_bug.cgi?id=150484 |
| <rdar://problem/23243721> |
| |
| Reviewed by Darin Adler. |
| |
| * Animometer/resources/extensions.js: |
| (ResultsDashboard): A new class to hold the iterations results. |
| (ResultsDashboard.prototype.push): Appends an iteration results; |
| (ResultsDashboard.prototype.toJSON): Converts the iterations results to JSON format. |
| |
| (RecordTable.prototype.clear): Clears the results table. |
| (RecordTable.prototype._showTitles): Shows the header titles and appends the sub-titles to a queue. |
| (RecordTable.prototype._showHeader): Shows the table header titles. |
| (RecordTable.prototype._showEmpty): Shows an empty table cell. |
| (RecordTable.prototype._showValue): Shows a number value in the results table. |
| (RecordTable.prototype._showSamples): Shows a button for the sampled data graph. |
| (RecordTable.prototype._showTest): Shows the results of a single test. |
| (RecordTable.prototype._showSuite): Shows the results of a single suite. |
| (RecordTable.prototype.showRecord): Shows a single iteration for a single test. |
| (RecordTable.prototype.showIterations): Shows the results of all the suites of the iterations. |
| |
| (ResultsTable): RecordTable was renamed to ResultsTable. |
| (ResultsTable.prototype.clear): Clears the table element. |
| (ResultsTable.prototype._showHeaderRow): Shows a row in the results table header. |
| (ResultsTable.prototype._showHeader): Shows the results table header. |
| (ResultsTable.prototype._showEmpty): Shows an empty table cell. |
| (ResultsTable.prototype._showText): Shows a string in a new table cell. |
| (ResultsTable.prototype._showFixedNumber): Shows a number in a new table cell. |
| (ResultsTable.prototype._showGraph): Shows a button for the sampled data graph. |
| (ResultsTable.prototype._showJSON): Shows a button for the sampled data JSON. |
| (ResultsTable.prototype._showTest): Shows the results of a single test. |
| (ResultsTable.prototype._showSuite): Shows the results of a single suite. |
| (ResultsTable.prototype._showIteration): Shows the results of a single iteration. |
| (ResultsTable.prototype.showRecord): Shows a single iteration for a single test. |
| (ResultsTable.prototype.showIterations): Shows all the results. |
| (RecordTable): Deleted. |
| (RecordTable.prototype.clear): Deleted. |
| (RecordTable.prototype._showTitles): Deleted. |
| (RecordTable.prototype._showHeader): Deleted. |
| (RecordTable.prototype._showEmpty): Deleted. |
| (RecordTable.prototype._showValue): Deleted. |
| (RecordTable.prototype._showSamples): Deleted. |
| (RecordTable.prototype._showTest): Deleted. |
| (RecordTable.prototype._showSuite): Deleted. |
| (RecordTable.prototype.showRecord): Deleted. |
| (RecordTable.prototype.showIterations): Deleted. |
| |
| * Animometer/resources/sampler.js: |
| (Sampler.prototype.startSampling): Use forEach. |
| (Sampler.prototype.sample): Use forEach. |
| (Sampler.prototype.toJSON): Converts the sampler data to JSON format. |
| |
| * Animometer/resources/strings.js: Added. |
| This new file will be used to associate the strings used by the benchmark |
| with IDs. A string can be changed in one place without having to change |
| all the instances of this string in multiple files. There two groups of |
| strings in this file. The first one is used by the UI elements and the second |
| group is used when constructing the results JSON. |
| |
| * Animometer/runner/animometer.html: |
| * Animometer/runner/resources/animometer.css: |
| |
| * Animometer/runner/resources/animometer.js: |
| (window.benchmarkRunnerClient.willAddTestFrame): |
| (window.benchmarkRunnerClient.willStartFirstIteration): |
| (window.benchmarkRunnerClient.didRunSuites): |
| (window.benchmarkRunnerClient.didFinishLastIteration): |
| Make benchmarkRunnerClient uses ResultsDashboard instead of _iterationsSamplers |
| Get the JSON from ResultsDashboard.toJSON() and pass it to ResultsTable.showIterations(). |
| Also set the textContent of the "#json" textarea with the results JSON. |
| |
| (showResults): Delete unneeded code. |
| (showJson): Shows the "json" section. |
| (showTestGraph): Rename showGraph() to be showTestGraph(). |
| (showTestJSON): Shows the JSON of a single testResults. |
| (showGraph): Deleted. |
| |
| * Animometer/runner/resources/tests.js: |
| Use the string table instead of putting literal strings. |
| |
| * Animometer/tests/resources/stage.js: |
| (StageBenchmark.prototype.showResults): |
| Fix the parameters which are passed to RecordTable.showRecord(). |
| |
| * Animometer/tests/bouncing-particles/bouncing-canvas-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html: |
| * Animometer/tests/bouncing-particles/bouncing-css-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-css-shapes.html: |
| * Animometer/tests/bouncing-particles/bouncing-svg-images.html: |
| * Animometer/tests/bouncing-particles/bouncing-svg-shapes.html: |
| * Animometer/tests/examples/canvas-electrons.html: |
| * Animometer/tests/examples/canvas-stars.html: |
| * Animometer/tests/simple/simple-canvas-paths.html: |
| * Animometer/tests/template/template-canvas.html: |
| * Animometer/tests/template/template-css.html: |
| * Animometer/tests/template/template-svg.html: |
| * Animometer/tests/text/layering-text.html: |
| Include the new strings.js file in all the test files. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Add canvas line dash test |
| https://bugs.webkit.org/show_bug.cgi?id=150078 |
| <rdar://problem/23082347> |
| |
| Reviewed by Dean Jackson. |
| |
| * Animometer/runner/resources/tests.js: Add line dash test. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| (CanvasLineDashStage): Create a new stage with a default dash pattern and stroke style. |
| Maintain a step which will animate the dash. |
| (CanvasLineDashStage.prototype.animate): Render the line path with the dash. Increment |
| the dash offset to animate. |
| (CanvasPathBenchmark.prototype.createStage): Add the test. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Add canvas line path tests |
| https://bugs.webkit.org/show_bug.cgi?id=150076 |
| <rdar://problem/23082285> |
| |
| Reviewed by Dean Jackson. |
| |
| * Animometer/runner/resources/tests.js: Add new line path tests, with different |
| line joins. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| (CanvasLinePathStage): The stage is the same as the SimpleCanvasPathStrokeStage |
| but sets the lineJoin on the context. |
| (CanvasPathBenchmark.prototype.createStage): Add the tests. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Add missing paint objects for arc and arcTo fills |
| https://bugs.webkit.org/show_bug.cgi?id=150075 |
| <rdar://problem/23082233> |
| |
| Reviewed by Dean Jackson. |
| |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: Add missing paint objects |
| for arcTo and arc segment fills. |
| (CanvasArcToSegmentFill): |
| (CanvasArcToSegmentFill.prototype.draw): |
| (CanvasArcSegmentFill): |
| (CanvasArcSegmentFill.prototype.draw): |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Add canvas line segment tests |
| https://bugs.webkit.org/show_bug.cgi?id=150073 |
| <rdar://problem/23082138> |
| |
| Reviewed by Dean Jackson. |
| |
| * Animometer/runner/resources/tests.js: Add new line segment tests, with different |
| line caps. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| (CanvasLineSegment): Add new line segment paint object. |
| (CanvasLineSegmentStage): Create a new stage that sets the lineCap. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Add canvas path fill tests |
| https://bugs.webkit.org/show_bug.cgi?id=150071 |
| <rdar://problem/23082001> |
| |
| Reviewed by Dean Jackson. |
| |
| * Animometer/runner/resources/tests.js: Add new pathTypes for path fills. |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| (CanvasLinePoint): Add basic point for a line, and call lineTo. |
| (SimpleCanvasPathFillStage): Add a new stage similar to SimpleCanvasPathStrokeStage. |
| (CanvasPathBenchmark.prototype.createStage): Add the tests. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Add canvas path tests |
| https://bugs.webkit.org/show_bug.cgi?id=150067 |
| rdar://problem/23081463 |
| |
| Reviewed by Dean Jackson. |
| |
| * Animometer/runner/resources/tests.js: Add a quadratic and bezier path test. |
| |
| * Animometer/tests/simple/resources/simple-canvas.js: |
| (SimpleCanvasStage.prototype.tune): This kind of test joins all of the segments |
| into one long path, and tries to render that one path. Random points make it |
| difficult to tell what is going on, so add a parameter to the constructor to |
| confine the area where the random coordinates can land. The more complicated the |
| case is, the larger an area the path will cover. Add an artificial minimum so |
| that the first 200 points aren't confined to a space that is too small. |
| |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: |
| (SimpleCanvasPathStrokeStage): Add a new kind of stage that inherits from |
| SimpleCanvasStage. Each time the frame animates a random line width and stroke |
| color are chosen. The path setup is done outside of each paint object. |
| (CanvasQuadraticPoint): This point just calls quadraticCurveTo. |
| (CanvasPathBenchmark.prototype.createStage): Add the tests. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Add basic canvas tests |
| https://bugs.webkit.org/show_bug.cgi?id=150066 |
| rdar://problem/23081143 |
| |
| Reviewed by Dean Jackson. |
| |
| This adds a new test suite that will cover all of the path-based canvas calls. |
| The patch will be divided up to cover tests with similar techniques. |
| |
| The simplest version uses a SimpleCanvasStage. |
| |
| * Animometer/runner/resources/tests.js: Add tests for quadratic, bezier, arcTo, |
| arc, and rect segments. Also include arcTo, arc, and rect fills. |
| * Animometer/tests/resources/stage.js: |
| (Stage.prototype.randomBool): Added for counterclockwise property for arc segments. |
| (Stage.prototype.randomInt): Fix how values are rounded, used by randomBool. It should |
| round instead of flooring everything. |
| * Animometer/tests/simple/resources/simple-canvas.js: Added. Defines common classes |
| used by all simple canvas tests. The page reads best bottom to top. |
| (SimpleCanvasStage): Basic stage. Pass a canvasObject which will be used to create new |
| objects as needed in tune(). |
| (SimpleCanvasStage.prototype.tune): Modeled on other tests. Adds and removed objects |
| as specified by the provided |count|. |
| (SimpleCanvasStage.prototype.animate): Iterate over all the objects and ask them to draw. |
| There is no "animating" of the objects; they will just paint statically on the canvas. |
| (SimpleCanvasAnimator): Basic animator clears the canvas prior to painting. |
| (SimpleCanvasBenchmark): Hard-code the feedback loop parameters instead of including |
| them in the query parameters to the test URLs. |
| (SimpleCanvasBenchmark.prototype.createAnimator): |
| * Animometer/tests/simple/simple-canvas-paths.html: Added. |
| |
| * Animometer/tests/simple/resources/simple-canvas-paths.js: Added. There is no "animating" |
| of these objects--they just paint statically on the canvas. |
| (CanvasQuadraticSegment): Paint a quadratic segment stroke. |
| (CanvasBezierSegment): Paint a bezier segment stroke. |
| (CanvasArcToSegment): Paint an arcTo stroke. |
| (CanvasArcSegment): Paint an arc stroke. |
| (CanvasRect): Paint a rect. |
| (CanvasRectFill): Paint a filled rect. |
| |
| (CanvasPathBenchmark): |
| (CanvasPathBenchmark.prototype.createStage): Look for the pathType and create the |
| stage using the right paint object. |
| (window.benchmarkClient.create): |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Refactor tune() to pass in an integer-based count |
| https://bugs.webkit.org/show_bug.cgi?id=150060 |
| <rdar://problem/23079425> |
| |
| Reviewed by Dean Jackson. |
| |
| All of the tune functions do an initial step of flooring the |
| # of painting objects to add or remove. Factor that out since |
| the complexity of all of these tests is always expressed in terms |
| of countable items. |
| |
| * Animometer/tests/resources/main.js: |
| (Benchmark.prototype.update): Update the tuneValue. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: |
| (BouncingParticlesStage.prototype.tune): Remove the count adjustment. |
| * Animometer/tests/examples/resources/canvas-electrons.js: |
| (CanvasElectronsStage.prototype.tune): Ditto. |
| * Animometer/tests/examples/resources/canvas-stars.js: |
| (CanvasStarsStage.prototype.tune): Ditto. |
| * Animometer/tests/text/resources/layering-text.js: |
| (LayeringTextStage.prototype.tune): Ditto. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Store test-interval in localStorage |
| https://bugs.webkit.org/show_bug.cgi?id=150055 |
| <rdar://problem/23078879> |
| |
| Reviewed by Dean Jackson. |
| |
| * Animometer/runner/resources/animometer.js: |
| (populateSettings): Keep track of the specified test interval in localStorage |
| to make it easy to repeat a test suite. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Remove "../tests/" from the URLs of all tests |
| https://bugs.webkit.org/show_bug.cgi?id=150054 |
| <rdar://problem/23078784> |
| |
| Reviewed by Dean Jackson. |
| |
| Presumably all tests will be running from the tests/ directory, |
| so we don't have to specify it in all of the test URLs. |
| |
| * Animometer/runner/resources/benchmark-runner.js: |
| (BenchmarkRunnerState.prototype.prepareCurrentTest): Prepend |
| "../tests/" to all tests. |
| * Animometer/runner/resources/tests.js: Remove "../tests/" from |
| all URLs. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Refactor test suites to a separate class. |
| https://bugs.webkit.org/show_bug.cgi?id=150053 |
| <rdar://problem/23078645> |
| |
| Reviewed by Dean Jackson. |
| |
| Create a Suite class to refactor out prepare() and run(). |
| Generate the checkboxes representing the suites using Suites |
| instead of maintaining a separate list. Also, save the |
| selections out to localStorage. |
| |
| * Animometer/runner/animometer.html: Remove the explicitly listed |
| suites. These will be generated from Suites instead. |
| * Animometer/runner/resources/animometer.js: |
| (populateSettings): Iterate through Suites, and create the |
| label and checkbox. Attach the Suite object to the checkbox so |
| when the benchmark is started, we get direct access. Initialize |
| the checkmark based on its value in localStorage. Set this to |
| run when DOMContentLoaded is dispatched. |
| (startBenchmark): Grab all of the checkboxes, inspect their |
| values, add it to enabledSuites if selected. Remember whether |
| the suite was enabled in localStorage, so that it's easy to do |
| repeated runs. |
| * Animometer/runner/resources/tests.js: |
| (Suite): Create a new Suite class. Refactor out prepare() and |
| run(), since all of them have the same implementation. Populate |
| Suites with Suite instances instead of generic objects. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Update graph styles for legibility. |
| https://bugs.webkit.org/show_bug.cgi?id=150052 |
| <rdar://problem/23078503> |
| |
| Reviewed by Dean Jackson. |
| |
| * Animometer/runner/resources/animometer.css: Update colors and |
| stroke thicknesses to make the graphs easier to read. |
| (.smaple-time): Correct to .sample-time |
| * Animometer/runner/resources/graph.js: |
| (graph): Ditto. |
| |
| 2015-10-12 Jon Lee <jonlee@apple.com> |
| |
| Update graph styles for legibility. |
| https://bugs.webkit.org/show_bug.cgi?id=150052 |
| <rdar://problem/23078503> |
| |
| Reviewed by Dean Jackson. |
| |
| * Animometer/runner/resources/animometer.css: Update colors and |
| stroke thicknesses to make the graphs easier to read. |
| (.smaple-time): Correct to .sample-time |
| * Animometer/runner/resources/graph.js: |
| (graph): Ditto. |
| |
| 2015-10-12 Filip Pizlo <fpizlo@apple.com> |
| |
| Unreviewed, revert an unintended commit. |
| |
| * JetStream/Octane2/crypto.js: |
| (montRevert): |
| (montReduce): |
| |
| 2015-10-05 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Add a graphics benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=149053 |
| <rdar://problem/18984169> |
| |
| Reviewed by Dean Jackson. |
| |
| Instead of measuring the FPS of the animation, this benchmark measures the |
| test complexity when rendering at a set-point FPS which should be lower |
| than 60 FPS. This benchmark tries to stay at the set-point FPS by using |
| a closed loop control system PID function. The gain of the system is passed |
| as a parameter when running the test. Measuring the FPS faithfully results |
| very fluctuating values. A Kalman filter is used to give a better estimate |
| for the current FPS. |
| |
| The animation of the tests is done manually. requestAnimationFrame() is |
| called with a callback. Inside this callback, the test is animating by |
| changing the positions of the elements inside the page. The test complexity |
| may change also if the current FPS is not equal to the desired FPS. |
| |
| In this patch, the benchmark and the tests are included. The shared code |
| and the tests runner are included in separate patches. |
| |
| * Animometer/runner/animometer.html: |
| * Animometer/runner/resources/animometer.js: |
| Add two new examples for more complex animation techniques. |
| Add an option to show/hide the test running results which is off by default. |
| |
| * Animometer/runner/resources/tests.js: Added. |
| (suiteFromName): Returns a suite given its name. |
| (testFromName): Returns a test given its suite and name. |
| |
| * Animometer/tests: Added. |
| This directory includes all the test suites to be run by the benchmark. |
| runner. All the tests should try to run on three stages: CSS, canvas and |
| SVG. |
| |
| * Animometer/tests/bouncing-particles: Added. |
| * Animometer/tests/bouncing-particles/resources: Added. |
| The bouncing particles test is an example of a simple animation technique. |
| |
| * Animometer/tests/bouncing-particles/bouncing-canvas-images.html: Added. |
| * Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html: Added. |
| * Animometer/tests/bouncing-particles/bouncing-css-images.html: Added. |
| * Animometer/tests/bouncing-particles/bouncing-css-shapes.html: Added. |
| * Animometer/tests/bouncing-particles/bouncing-svg-images.html: Added. |
| * Animometer/tests/bouncing-particles/bouncing-svg-shapes.html: Added. |
| Bouncing particles test pages. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-particles.js: Added. |
| (BouncingParticle): Base class for a bouncing particle. |
| (BouncingParticle.prototype.center): Returns the center point or the particle. |
| (BouncingParticle.prototype.animate): Moves the particle based on its current position, angle and velocity. |
| |
| (BouncingParticlesAnimator): A sub class of Animator. |
| |
| (BouncingParticlesStage): Represents the container of all the bouncing particles. |
| (BouncingParticlesStage.prototype.parseShapeParamters): Gets the shape parameters for shape animating tests. |
| (BouncingParticlesStage.prototype.randomRotater): Creates a rotater for the particles. |
| (BouncingParticlesStage.prototype.animate): Animates all the particles. |
| (BouncingParticlesStage.prototype.tune): Changes the test by adding or removing particles. |
| |
| (BouncingParticlesBenchmark): Runs the benchmark for bouncing particles test. |
| (BouncingParticlesBenchmark.prototype.createAnimator): Creates an animator of type BouncingParticlesAnimator. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js: Added. |
| (BouncingCssShape): A sub class of BouncingParticle for animating CSS shapes. |
| (BouncingCssShape.prototype._createSpan): Creates a <span> element and takes the shape and clipping classes into consideration. |
| (BouncingCssShape.prototype._move): Moves the particle to a new location. Apply transform since it does not require layout. |
| (BouncingCssShape.prototype.animate): Rotates and moves the shape to a new location. |
| |
| (BouncingCssShapesStage): A sub class of BouncingParticlesStage for animating CSS shapes. |
| (BouncingCssShapesStage.prototype.createParticle): Creates a particle of type BouncingCssShape. |
| (BouncingCssShapesStage.prototype.particleWillBeRemoved): Removes the corresponding element form the parent children list. |
| |
| (BouncingCssShapesBenchmark): A sub class of BouncingParticlesBenchmark for animating CSS shapes. |
| (BouncingCssShapesBenchmark.prototype.createStage): Creates a stage of type BouncingCssShapesStage. |
| (window.benchmarkClient.create): Creates a benchmark of type BouncingCssShapesBenchmark. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-css-images.js: Added. |
| (BouncingCssImage): A sub class of BouncingParticle for animating CSS images. |
| (BouncingCssImage.prototype._move): Move the particle to a new location. Apply transform since it does not require layout. |
| (BouncingCssImage.prototype.animate): Rotates and moves the shape to a new location. |
| |
| (BouncingCssImagesStage): A sub class of BouncingParticlesStage for animating CSS images. |
| (BouncingCssImagesStage.prototype.createParticle): Creates a particle of type BouncingCssImage. |
| (BouncingCssImagesStage.prototype.particleWillBeRemoved): Removes the corresponding element form the parent children list. |
| |
| (BouncingCssImagesBenchmark): A sub class of BouncingParticlesBenchmark for animating CSS images. |
| (BouncingCssImagesBenchmark.prototype.createStage): Creates a stage of type BouncingCssImagesStage. |
| (window.benchmarkClient.create): Creates a benchmark of type BouncingCssImagesBenchmark. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js: Added. |
| (BouncingCanvasParticle): A base sub-class of BouncingParticle for animating canvas particles. |
| (BouncingCanvasParticle.prototype._applyRotation): Apply the particle rotation-around-center transform to the canvas context. |
| (BouncingCanvasParticle.prototype._applyClipping): Apply the particle clipping to the canvas context. |
| (BouncingCanvasParticle.prototype._draw): A non-implemented version of the drawing function. |
| (BouncingCanvasParticle.prototype.animate): Carries out all the steps to redraw the canvas particle. |
| |
| (BouncingCanvasParticlesStage): A base sub-class of BouncingParticlesStage for animating canvas particles. |
| |
| (BouncingCanvasParticlesAnimator): A concrete sub-class of BouncingParticlesAnimator for animating canvas particles. |
| (BouncingCanvasParticlesAnimator.prototype.animate): Overrides the base class method to clear the canvas before redrawing the stage. |
| |
| (BouncingCanvasParticlesBenchmark): A base sub-class of StageBenchmark for animating canvas particles. |
| (BouncingCanvasParticlesBenchmark.prototype.createAnimator): Creates the canvas particles animator. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: Added. |
| (BouncingCanvasShape): A concrete sub-class of BouncingCanvasParticle for animating canvas shapes. |
| (BouncingCanvasShape.prototype._applyFill): Sets the fillStyle in the canvas context. |
| (BouncingCanvasShape.prototype._drawShape): Carries out the actual drawing. |
| (BouncingCanvasShape.prototype._draw): Carries out all the steps to draw the shape. |
| |
| (BouncingCanvasShapesStage): A concrete sub-class of BouncingCanvasParticle for animating canvas shapes. |
| (BouncingCanvasShapesStage.prototype.createParticle): Creates a particle of type BouncingCanvasShape. |
| |
| (BouncingCanvasShapesBenchmark): A concrete sub-class of BouncingCanvasParticlesBenchmark for animating canvas shapes. |
| (BouncingCanvasShapesBenchmark.prototype.createStage): Creates a stage of type BouncingCanvasShapesStage. |
| (window.benchmarkClient.create): Creates a benchmark of type BouncingCanvasShapesBenchmark. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js: Added. |
| (BouncingCanvasImage): A concrete sub-class of BouncingCanvasParticle for animating canvas images. |
| (BouncingCanvasImage.prototype._draw): Draws an image on the context of a canvas. |
| |
| (BouncingCanvasImagesStage): A concrete sub-class of BouncingCanvasParticlesBenchmark for animating canvas images. |
| (BouncingCanvasImagesStage.prototype.createParticle): Creates a particle of type BouncingCanvasImage. |
| |
| (BouncingCanvasImagesBenchmark): A concrete sub-class of BouncingCanvasParticlesBenchmark for animating canvas images. |
| (BouncingCanvasImagesBenchmark.prototype.createStage): Creates a stage of type BouncingCanvasImagesStage. |
| (window.benchmarkClient.create): Creates a benchmark of type BouncingCanvasImagesBenchmark. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-particles.js: Added. |
| (BouncingSvgParticle): A base sub-class of BouncingParticle for animating SVG particles. |
| (BouncingSvgParticle.prototype._applyClipping): Apply the particle clipping by setting the 'clip-path' attribute of the SVGElement. |
| (BouncingSvgParticle.prototype._move): Moves the particle to a new location. Apply transform since it does not require layout. |
| (BouncingSvgParticle.prototype.animate): Rotates and moves the shape to a new location. |
| (BouncingSvgParticlesStage): A sub class of BouncingParticlesStage for animating SVGElements. |
| (BouncingSvgParticlesStage.prototype._createDefs): Creates an SVGDefsElement. |
| (BouncingSvgParticlesStage.prototype._ensureDefsIsCreated): Ensures there is only one SVGDefsElement is created. |
| (BouncingSvgParticlesStage.prototype._createClipStar): Creates an SVGClipPathElement and sets its 'd' attribute to a star like shape. |
| (BouncingSvgParticlesStage.prototype.ensureClipStarIsCreated): Ensure there is only one star SVGClipPathElement is created. |
| (BouncingSvgParticlesStage.prototype.particleWillBeRemoved): Remove the corresponding element form the parent children list. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js: Added. |
| (BouncingSvgShape): A concrete sub-class of BouncingSVGParticle for animating SVG shapes. |
| (BouncingSvgShape.prototype._createShape): Creates an SVG shape. |
| (BouncingSvgShape.prototype._applyFill): Applies the selected fill style to the SVG shape. |
| |
| (BouncingSvgShapesStage): A concrete sub-class of BouncingSvgParticlesStage for animating SVG shapes. |
| (BouncingSvgShapesStage.prototype.createGradient): Creates an SVGLinearGradientElement. |
| (BouncingSvgShapesStage.prototype.createParticle): Creates a particle of type BouncingSvgShape. |
| (BouncingSvgShapesStage.prototype.particleWillBeRemoved): Ensures the attached SVGLinearGradientElement is removed from the SVGDefsElement. |
| |
| (BouncingSvgShapesBenchmark): A concrete sub-class of BouncingParticlesBenchmark for animating SVG images. |
| (BouncingSvgShapesBenchmark.prototype.createStage): Creates a stage of type BouncingSvgShapesStage. |
| (window.benchmarkClient.create): Creates a benchmark of type BouncingSvgShapesBenchmark. |
| |
| * Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js: Added. |
| (BouncingSvgImage): A concrete sub-class of BouncingSVGParticle for animating SVG images. |
| |
| (BouncingSvgImagesStage): A concrete sub-class of BouncingSVGParticlesBenchmark for animating SVG images. |
| (BouncingSvgImagesStage.prototype.createParticle): Creates a particle of type BouncingSvgImage. |
| |
| (BouncingSvgImagesBenchmark): A concrete sub-class of BouncingParticlesBenchmark for animating SVG images. |
| (BouncingSvgImagesBenchmark.prototype.createStage): Creates a stage of type BouncingSvgImagesStage. |
| (window.benchmarkClient.create): Creates a benchmark of type BouncingSvgImagesBenchmark. |
| |
| * Animometer/tests/examples: Added. |
| * Animometer/tests/examples/canvas-electrons.html: Added. |
| * Animometer/tests/examples/canvas-stars.html: Added. |
| Examples test pages. |
| |
| * Animometer/tests/examples/resources: Added. |
| * Animometer/tests/examples/resources/canvas-electrons.js: Added. |
| (CanvasElectron): An object which draws and animate a electron object on a canvas stage. |
| (CanvasElectron.prototype._draw): Draws the electron object. |
| (CanvasElectron.prototype.animate): Animates the electron object. |
| |
| (CanvasElectronsStage): A concrete sub-class of Stage for animating electrons. |
| (CanvasElectronsStage.prototype.tune): Changes the test by adding or removing elements. |
| (CanvasElectronsStage.prototype.animate): Animates the test elements. |
| |
| (CanvasElectronsAnimator): A concrete sub-class of StageAnimator for animating canvas electrons. |
| (CanvasElectronsAnimator.prototype.animate): Overrides the base class method to clear the canvas before redrawing the stage. |
| |
| (CanvasElectronsBenchmark): A concrete sub-class of StageBenchmark for animating electrons. |
| (CanvasElectronsBenchmark.prototype.createStage): Creates a stage of CanvasElectronsStage. |
| (CanvasElectronsBenchmark.prototype.createAnimator): Creates an animator of type CanvasElectronsAnimator. |
| (window.benchmarkClient.create): Creates a benchmark of type CanvasElectronsBenchmark. |
| |
| * Animometer/tests/examples/resources/canvas-stars.js: Added. |
| (CanvasStar): An object which draws and animate a star object on a canvas stage. |
| (CanvasStar.prototype._draw): Draws the star object. |
| (CanvasStar.prototype.animate): Animates the star object. |
| |
| (CanvasStarsStage): A concrete sub-class of Stage for animating stars. |
| (CanvasStarsStage.prototype.tune): Changes the test by adding or removing elements. |
| (CanvasStarsStage.prototype.animate): Animates the test elements. |
| |
| (CanvasStarsAnimator): A concrete sub-class of StageAnimator for animating canvas stars. |
| (CanvasStarsAnimator.prototype.animate): Overrides the base class method to clear the canvas before redrawing the stage. |
| |
| (CanvasStarsBenchmark): A concrete sub-class of Benchmark for animating stars. |
| (CanvasStarsBenchmark.prototype.createStage): Creates a stage of CanvasStarsStage. |
| (CanvasStarsBenchmark.prototype.createAnimator): Creates an animator of type CanvasStarsAnimator. |
| (window.benchmarkClient.create): Creates a benchmark of type CanvasStarsBenchmark. |
| |
| * Animometer/tests/resources: Added. |
| This directory includes the script which is required to run an adaptive |
| graphics benchmark. From an empty test page, the set of classes in this |
| directory are responsible for measuring the current frame rate and |
| changing the test to reach a desired FPS. It keeps asking the test page |
| to tune itself by a certain value to increase or decrease the frame rate. |
| It's also responsible for sampling the test state and the corresponding |
| frame rate. |
| |
| * Animometer/tests/resources/main.js: Added. |
| (BenchmarkState): Tracks the state of the benchmark test. |
| (BenchmarkState.prototype._timeOffset): Returns the timeOffset of a stage. |
| (BenchmarkState.prototype._message): Returns the message of a stage. |
| (BenchmarkState.prototype.update): Sets the currentTimeOffset to a new value. |
| (BenchmarkState.prototype.samplingTimeOffset): Returns the timeOffset of the sampling stage. |
| (BenchmarkState.prototype.currentStage): Returns the current stage of the benchmark. |
| (BenchmarkState.prototype.currentMessage): Returns the message of the current stage and timeOffset. |
| (BenchmarkState.prototype.currentProgress): Returns a percentage of how much the benchmark is running. |
| |
| (Animator): Manages animating the test. |
| (Animator.prototype.start): Called if animating using setInterval is requested. |
| (Animator.prototype.timeDelta): Returns the current timeDelta |
| (Animator.prototype.animate): Manages the test animation. |
| (Animator.prototype.animateLoop): Called if animating using requestAnimationFrame is requested. |
| |
| (Benchmark): Manages running the test benchmark and recording the sampled data. |
| (Benchmark.prototype.start): Starts the benchmark. |
| (Benchmark.prototype.update): Called from the animator.animate() to change the complexity of the test. |
| (Benchmark.prototype.record): Shows the current (not final) results of the benchmark. |
| (Benchmark.prototype.resolveWhenFinished): Spins until the benchmark is finished and returns its results. |
| (Benchmark.prototype.run): Starts the test, runs it, waits until it is finished and return its results. |
| (window.runBenchmark): Called from the benchmark runner through the suite controller run-callback. |
| |
| * Animometer/tests/resources/math.js: Added. |
| (Matrix): A matrix object. |
| (Vector3): A vector of size 3 object. |
| (Matrix3): A matrix of size 3x3 object. |
| |
| (PIDController): Closed-loop controller for a set-point y. |
| (PIDController.prototype._sat): Limits the output to a certain range. |
| (PIDController.prototype.tune): Given the current output of a system, it produces a new pid value for tuning it. |
| |
| (KalmanEstimator): Implement Kalman filter to get an estimate for a sampled data point. |
| (KalmanEstimator.prototype.estimate): Returns an estimate for for a sampled data point. |
| |
| * Animometer/tests/resources/utilities.js: Added. |
| (window.Utilities._parse): Given a separator character, it pareses a string to a set of <key, value> pairs. |
| (window.Utilities.parseParameters): Parses a test parameters. |
| (window.Utilities.parseArguments): Parses a tag arguments. |
| (window.Utilities.extendObject): Adds the attributes and their values of an object to another object. |
| (window.Utilities.copyObject): Copies the attributes and their values of an object to a new object. |
| (window.Utilities.mergeObjects): Copies the attributes and their values of two objects to a new object. |
| (window.Utilities.createSvgElement): Creates an SVGElement given its name and its attributes. |
| |
| * Animometer/tests/resources/stage.css: Added. |
| * Animometer/tests/resources/stage.js: Added. |
| (Rotater): Manages rotating an angle within a fixed time interval. |
| (Rotater.prototype.get interval): Returns the time interval which is required to rotate 360 degrees. |
| (Rotater.prototype.next): Moves the current time by a delta. |
| (Rotater.prototype.degree): Returns the current rotating degree. |
| (Rotater.prototype.rotateZ): Returns CSS formatted transform rotateZ() string for the current degree. |
| (Rotater.prototype.rotate): Returns SVG formatted transform rotate() string for the current degree. |
| |
| (Stage): A base class for managing the test complexity and test animation. |
| (Stage.prototype.get size): Returns the size of the stage excluding the CSS padding. |
| (Stage.prototype.random): Returns a random float. |
| (Stage.prototype.randomInt): Returns a random integer. |
| (Stage.prototype.randomPosition): Returns a random position. |
| (Stage.prototype.randomSquareSize): Returns a square size. |
| (Stage.prototype.randomVelocity): Returns a random velocity. |
| (Stage.prototype.randomAngle): Returns a random angle. |
| (Stage.prototype.randomColor): Returns a random color not too dark and not too light. |
| (Stage.prototype.randomRotater): Creates a random rotater. Its velocity depends on choosing a random rotation time interval. |
| (Stage.prototype.tune): A not-implemented version of this function. |
| (Stage.prototype.animate): A not-implemented version of this function. |
| (Stage.prototype.clear): Clears the stage from all its animation elements. |
| |
| (StageAnimator): A base class for the stage-based animators. |
| (StageAnimator.prototype.animate): Calls Animator.animate() which updates the test page and then calls Stage.animate() to force redraw. |
| |
| (StageBenchmark): A base class for the stage-based benchmarks. |
| (StageBenchmark.prototype.createStage): Creates the default stage. |
| (StageBenchmark.prototype.createAnimator): Creates the default animator. |
| (StageBenchmark.prototype.tune): Delegates the call to stage. |
| (StageBenchmark.prototype.clear): Delegates the call to stage. |
| (StageBenchmark.prototype.showResults): Shows the results/progress through its recordTable and progressBar. |
| |
| * Animometer/tests/resources/yin-yang.png: Added. |
| * Animometer/tests/resources/yin-yang.svg: Added. |
| These images are shared among all the tests. |
| |
| * Animometer/tests/template: Added. |
| * Animometer/tests/template/resources: Added. |
| This directory includes template tests which do nothing. They can be used |
| to author new tests. Animated items can be created, moved and redrawn by |
| removing the TODO comments in the script files and writing actual code. |
| |
| * Animometer/tests/template/template-css.html: Added. |
| * Animometer/tests/template/template-canvas.html: Added. |
| * Animometer/tests/template/template-svg.html: Added. |
| Template test pages. They can be used as they are. CSS attributes or hidden |
| elements can be added to these derived test pages if needed. |
| |
| * Animometer/tests/template/resources/template-css.js: Added. |
| |
| (TemplateCssStage): A stage to create and animate HTMLElements. |
| (TemplateCssStage.prototype.tune): Changes the test by adding or removing elements. |
| (TemplateCssStage.prototype.animate): Animates the test elements. |
| (TemplateCssBenchmark): |
| (TemplateCssBenchmark.prototype.createStage): Creates the test stage. |
| (window.benchmarkClient.create): Creates a benchmark of type TemplateCssBenchmark. |
| |
| * Animometer/tests/template/resources/template-canvas.js: Added. |
| (TemplateCanvasObject): |
| (TemplateCanvasObject.prototype._draw): Draws the objects on the canvas context. |
| (TemplateCanvasObject.prototype.animate): Moves and redraws the object. |
| (TemplateCanvasStage): A stage to create and animate drawing elements. |
| (TemplateCanvasStage.prototype.tune): hanges the test by adding or removing elements. |
| (TemplateCanvasStage.prototype.animate): Animates the test elements. |
| (TemplateCanvasAnimator.prototype.animate): Starts the animation every frame. |
| (TemplateCanvasBenchmark): |
| (TemplateCanvasBenchmark.prototype.createStage): Creates a stage of type TemplateCanvasStage. |
| (TemplateCanvasBenchmark.prototype.createAnimator): Creates a animator of type TemplateCanvasAnimator. |
| (window.benchmarkClient.create): Creates a benchmark of type TemplateCanvasBenchmark. |
| |
| * Animometer/tests/template/resources/template-svg.js: Added. |
| (TemplateSvgStage): A stage to create and animate SVGElements. |
| (TemplateSvgStage.prototype.tune): Changes the test by adding or removing elements. |
| (TemplateSvgStage.prototype.animate): Animates the test elements. |
| (TemplateSvgBenchmark.prototype.createStage): Creates a stage of type TemplateSvgStage. |
| (window.benchmarkClient.create): Creates a benchmark of type TemplateSvgBenchmark. |
| |
| * Animometer/tests/text: Added. |
| * Animometer/tests/text/resources: Added. |
| This directory includes the text animating tests which currently runs |
| on CSS stage only. |
| |
| * Animometer/tests/text/layering-text.html: Added. |
| Text test page. |
| |
| * Animometer/tests/text/resources/layering-text.js: Added. |
| (LayeringTextStage): Represents the container of all the stacked text layers. |
| (LayeringTextStage.parseTextItem): Parses a textItem which may be an opening tag, a closing tag or a self-closing tag. |
| (LayeringTextStage.isOpeningTextItem): Returns true if the textItem is an opening tag e.g. '<ol>'. |
| (LayeringTextStage.isClosingTextItem): Returns true if the textItem is an closing tag e.g. '</ol>. |
| (LayeringTextStage.textItemsFlags.LayeringTextStage.textItems.map): Calculates and stores isOpening and isClosing flags for each textItem. |
| (LayeringTextStage.isColorableTextItem): Returns true if the textItem is self-closing tag e.g. '<p>...</p>'. |
| (LayeringTextStage.isInsertableTextItem): Returns true if the textItems causes a new element to be added to the text layers. |
| (LayeringTextStage.colorableTextItems.LayeringTextStage.textItemsFlags.filter): Number of colorable textItems. |
| (LayeringTextStage.insertableTextItems.LayeringTextStage.textItemsFlags.filter): Number of insertable textItems. |
| (LayeringTextStage.colorIndexToTextElementIndex): Maps from colorIndex [0..colorableTextItems-1] to textElementIndex [0..insertableTextItems-1]. |
| (LayeringTextStage.prototype._nextTextItem): Moves the _textItemIndex one step forward in a loop [0..LayeringTextStage.textItems.length-1]. |
| (LayeringTextStage.prototype._previousTextItem): Moves the _textItemIndex one step backward in a loop. |
| (LayeringTextStage.prototype._pushTextElement): Creates a new textItemElement and adds it to the topmost container <div>. |
| (LayeringTextStage.prototype._popTextElement): Removes the last textItemElement from the topmost container <div>. |
| (LayeringTextStage.prototype._colorTextItem): Changes the background color of a single colorable textElement. The index advances in a circle [0..colorableTextItems-1]. |
| (LayeringTextStage.prototype.animate): Changes the background color and the text color of the textElements such that a redraw is enforced. |
| (LayeringTextStage.prototype.tune): Adds or removes textElements to the stage. |
| |
| (LayeringTextBenchmark): Runs the benchmark for the layering text test. |
| (LayeringTextBenchmark.prototype.createStage): Creates a stage of type LayeringTextStage. |
| (window.benchmarkClient.create): Creates a benchmark of type LayeringTextBenchmark. |
| |
| 2015-10-02 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Add shared code for a new a graphics benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=149691 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This set of classes will be shared and used by the tests and the runner |
| of a new graphics benchmark. |
| |
| * Animometer/resources: Added. |
| * Animometer/resources/algorithm.js: Added. |
| (Array.prototype.swap): Swaps two elements in an array. |
| (Heap): Binary Min/Max Heap object |
| (Heap.prototype._parentIndex): Given the child node index, it returns the parent index. |
| (Heap.prototype._leftIndex): Given the parent node index, it returns the left node index. |
| (Heap.prototype._rightIndex): Given the parent node index, it returns the right node index. |
| (Heap.prototype._childIndex): Given the parent node index, it returns the child index that may violate the heap property. |
| (Heap.prototype.init): Initializes the heap state. |
| (Heap.prototype.top): Returns the value stored at the top of the heap. |
| (Heap.prototype.push): Pushes a new node at the top of the heap. |
| (Heap.prototype.pop): Extracts the top node of the heap. |
| (Heap.prototype._bubble): Fixes the heap property by moving upward. |
| (Heap.prototype._sink): Fixes the heap property by moving downward. |
| (Heap.prototype.str): Prints the nodes of the heap to a string. |
| (Heap.prototype.values): Returns the last "size" heap elements values. |
| |
| (Algorithm.createMinHeap): Creates a size-bounded min-heap object. |
| (Algorithm.createMaxHeap): Creates a size-bounded max-heap object. |
| |
| * Animometer/resources/extensions.js: Added. |
| (Point): Point object but can be used as size also. |
| (Point.pointOnCircle): Given, the radius of the circle and the angle of the point, it returns a point object. |
| (Point.pointOnEllipse): Given, the radiuses of the ellipse and the angle of the point, it returns a point object. |
| (Point.prototype.get width): Should be called when the point is used as size. |
| (Point.prototype.get height): Should be called when the point is used as size. |
| (Point.prototype.get center): Should be called when the point is used as size. |
| (Point.prototype.add): Returns a new point = this + other. |
| (Point.prototype.subtract): Returns a new point = this - other. |
| (Point.prototype.multiply): Returns a new point = this * other. |
| (Point.prototype.move): Moves the point in a given direction, velocity, time period. |
| |
| (Insets): Represents borders of a container. |
| (Insets.prototype.get width): Returns left + right. |
| (Insets.prototype.get height): Returns top + bottom. |
| |
| (SimplePromise): |
| (SimplePromise.prototype.then): |
| (SimplePromise.prototype.resolve): |
| Moved from Animometer/runner/resources/benchmark-runner.js since tests also need it. |
| |
| (Options): Benchmark running options as they are set by the user. |
| |
| (ProgressBar): Manages a progress bar element. The progress bar is divided into equal length ranges. |
| (ProgressBar.prototype._progressToPercent): Converts the progress into a percentage. |
| (ProgressBar.prototype.incRange): Moves to the next range (a range is the running time of a single test). |
| (ProgressBar.prototype.setPos): Draws the current progress in the current range. |
| |
| (RecordTable): Shows the results of running a benchmark in a tabular form. |
| (RecordTable.prototype.clear): Clears the results table. |
| (RecordTable.prototype._showTitles): Shows the header titles and appends the sub-titles to a queue. |
| (RecordTable.prototype._showHeader): Shows the table header titles. |
| (RecordTable.prototype._showEmpty): Shows an empty table cell. |
| (RecordTable.prototype._showValue): Shows a number value in the results table. |
| (RecordTable.prototype._showSamples): Shows a button for the sampled data graph. |
| (RecordTable.prototype._showTest): Shows the results of a single test. |
| (RecordTable.prototype._showSuite): Shows the results of a single suite. |
| (RecordTable.prototype.showRecord): Shows a single iteration for a single test. |
| (RecordTable.prototype.showIterations): Shows the results of all the suites of the iterations. |
| |
| * Animometer/resources/sampler.js: Added. |
| (Statistics.sampleMean): Returns the sample mean. |
| (Statistics.unbiasedSampleStandardDeviation): Returns the unbiased sample variance (i.e. with Bessel's correction) |
| (Statistics.geometricMean): Returns the geometric mean. |
| |
| (Experiment): Represents a sampling experiment. |
| (Experiment.prototype._init): Called when the object is created and when startSampling() is called. |
| (Experiment.prototype.startSampling): Called after warmup period. Restarts collecting sampled data points. |
| (Experiment.prototype.sample): Add a new data point. |
| (Experiment.prototype.mean): Returns the sample mean for the current sampled data points. |
| (Experiment.prototype.standardDeviation): Returns the sample standard deviation for the current sampled data points. |
| (Experiment.prototype.percentage): Returns the percentage of the standard deviation divided to the mean. |
| (Experiment.prototype.confidenceIntervalDelta): Calculates the confidence delta for the current sampled data given a confidence level. |
| (Experiment.prototype.concern): Returns the average of the worst given percentage from the sampled data. |
| (Experiment.prototype.score): Returns a score for the sampled data. It is the geometric mean of sampleMean and concern. |
| |
| (Sampler): Represents a compound experiment. It manages sampling multiple data points at the same time offset. |
| (Sampler.prototype.startSampling): Called after warming up period. Restarts collecting sampled data points. |
| (Sampler.prototype.sample): Add a new data vector at a given time offset. |
| |
| 2015-10-02 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Add the test runner for a new a graphics benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=149683 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| The test runner collects the selected test suites and the running options |
| from its home page. It loops through all the tests, runs them and collects |
| their running results. At the end, it shows summary results and a final |
| score. It can also show a chart for a test sampled data. |
| |
| * Animometer: Added. |
| * Animometer/runner: Added. |
| * Animometer/runner/resources: Added. |
| |
| * Animometer/runner/animometer.html: Added. |
| * Animometer/runner/resources/animometer.css: Added. |
| The benchmark runner page and css. |
| |
| * Animometer/runner/resources/animometer.js: Added. |
| (window.benchmarkRunnerClient.willAddTestFrame): Called after the test <iframe> is created. |
| (window.benchmarkRunnerClient.didRunTest): Called after running a test is finished. |
| (window.benchmarkRunnerClient.willStartFirstIteration): Called at the beginning before running any test. |
| (window.benchmarkRunnerClient.didRunSuites): Called after running all tests of a suite. |
| (window.benchmarkRunnerClient.didFinishLastIteration): Called after running the last test. |
| |
| (showSection): Shows a section in the animometer.html page. |
| (startTest): Called when the "Start Test" button is clicked. |
| (showResults): Called after finishing all the tests. |
| (showGraph): Called when "Click..." button in the "Samples" column of the results table is clicked |
| |
| * Animometer/runner/resources/benchmark-runner.js: Copied from PerformanceTests/Speedometer/resources/benchmark-runner.js. |
| (BenchmarkRunnerState): Tracks the current running <suite, test> |
| (BenchmarkRunnerState.prototype.currentSuite): Returns the current running suite. |
| (BenchmarkRunnerState.prototype.currentTest): Returns the current running test. |
| (BenchmarkRunnerState.prototype.isFirstTest): Returns true if we are running the first test in the current suite. |
| (BenchmarkRunnerState.prototype.next): Advances to the next test. |
| (BenchmarkRunnerState.prototype.prepareCurrentTest): Creates a new <iframe> and waits for it to load a test. |
| |
| (BenchmarkRunner): Manages running the tests and communicating with the benchmarkRunnerClient. |
| (BenchmarkRunner.prototype.waitForElement): Waits for an element to be created. |
| (BenchmarkRunner.prototype._appendFrame): Creates a new <iframe> element. |
| (BenchmarkRunner.prototype._removeFrame): Removed the current <iframe> element. |
| (BenchmarkRunner.prototype._runTestAndRecordResults): Runs the current test and saves its results. |
| (BenchmarkRunner.prototype.step): Either runs the current test if there is or start a new iteration. |
| (BenchmarkRunner.prototype.runAllSteps): Loops to run all the tests and move to the next iteration. |
| (this._runNextIteration): Starts a new iteration or show the results. |
| (BenchmarkRunner.prototype.runMultipleIterations): Loops to run all the iterations and show the results |
| (BenchmarkRunner.prototype._finalize): Finalizes the current iteration and starts a new one. |
| |
| (SimplePromise): Deleted. |
| (SimplePromise.prototype.then): Deleted. |
| (SimplePromise.prototype.resolve): Deleted. |
| (BenchmarkTestStep): Deleted. |
| (Fibonacci): Deleted. |
| SimplePromise was moved t Animometer/resources/extensions.js because it is used by the runner and the tests. |
| |
| (BenchmarkRunner.prototype._waitAndWarmUp): Deleted. |
| (BenchmarkRunner.prototype._runTest): Deleted. |
| (BenchmarkState.prototype.currentSuite): Deleted. |
| (BenchmarkState.prototype.currentTest): Deleted. |
| (BenchmarkState.prototype.next): Deleted. |
| (BenchmarkState.prototype.isFirstTest): Deleted. |
| (BenchmarkState.prototype.prepareCurrentSuite): Deleted. |
| BenchmarkState was renamed to BenchmarkRunnerState to not be confused with the tests BenchmarkState. |
| |
| * Animometer/runner/resources/d3.min.js: Copied from Websites/perf.webkit.org/public/v2/js/d3/d3.min.js. |
| Needed for drawing charts for the sampled scores and frame rates. |
| |
| * Animometer/runner/resources/graph.js: Added. |
| (graph): Draws a chart for a test sampled data. It shows two y-axes: one for the animated items and the second for FPS. |
| |
| * Skipped: Skip the Animometer benchmark for now. |
| |
| 2015-08-27 Csaba Osztrogonác <ossy@webkit.org> |
| |
| [EFL] REGRESSION(r188793): It made 200 layout tests and Bindings/event-target-wrapper.html performance test fail |
| https://bugs.webkit.org/show_bug.cgi?id=148470 |
| |
| Unreviewed gardening, skip the hanging test to make the performance bot work. |
| |
| * Skipped: |
| |
| 2015-08-17 Chris Dumez <cdumez@apple.com> |
| |
| Add performance tests for traversal of collections returned by getElementsByClassName() / getElementsByTagName() |
| https://bugs.webkit.org/show_bug.cgi?id=148080 |
| |
| Reviewed by Antti Koivisto. |
| |
| Add performance tests for traversal of *uncached* collections returned |
| by getElementsByClassName() / getElementsByTagName(). These methods |
| will soon be updated to return an HTMLCollection instead of a |
| NodeList and we need to make sure we don't regress performance in the |
| process. |
| |
| * DOM/get-elements-by-class-name-traversal-uncached.html: Added. |
| * DOM/get-elements-by-tag-name-traversal-uncached.html: Added. |
| |
| 2015-08-14 Chris Dumez <cdumez@apple.com> |
| |
| Add performance tests for NodeList and HTMLCollection traversal |
| https://bugs.webkit.org/show_bug.cgi?id=148043 |
| |
| Reviewed by Gavin Barraclough. |
| |
| Add performance tests for NodeList and HTMLCollection traversal. |
| Ideally, those 2 tests should be as fast. However, due to inefficiencies |
| in our HTMLCollection bindings code, the HTMLCollection tests is ~30% |
| slower. This will be addressed in the near future. |
| |
| * Bindings/childNodes-traversal.html: Added. |
| * Bindings/children-traversal.html: Added. |
| |
| 2015-08-05 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Add a second font-fallback performance test |
| https://bugs.webkit.org/show_bug.cgi?id=147692 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This test is smaller, but has more realistic content. Also, it uses the "lang" attribute. |
| |
| * Layout/font-fallback-2.html: Added. |
| * Layout/resources/font-fallback-2.html: Added. |
| |
| 2015-07-13 Filip Pizlo <fpizlo@apple.com> |
| |
| Update JetStream version number to 1.1. |
| |
| Rubber stamped by Ryosuke Niwa. |
| |
| * JetStream/create.rb: |
| |
| 2015-06-30 Filip Pizlo <fpizlo@apple.com> |
| |
| Update the JetStream documentation to reflect the recent changes |
| https://bugs.webkit.org/show_bug.cgi?id=146474 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * JetStream/create.rb: Bump the version. |
| * JetStream/in-depth-TEMPLATE.html: Add cdjs documentation. Remove cordic documentation. Change documentation for splay and mandreel. |
| |
| 2015-06-26 Filip Pizlo <fpizlo@apple.com> |
| |
| [JetStream] Raise the percentile of mandreel-latency and splay-latency |
| https://bugs.webkit.org/show_bug.cgi?id=146378 |
| |
| Reviewed by Mark Lam. |
| |
| The current percentile is 95%. When I looked at the sample lists in our GC, it was |
| clear that the worst 5% samples completely amortize our GC pauses. Our GC pauses can |
| be quite bad. Clearly, splay-latency is meant to test whether we have an incremental |
| GC that ensures that you don't have bad worst-case pauses. But 95% is too small, |
| because it doesn't really capture those pauses. Raising the percentile to above 99% |
| appears to do the trick. 99.5% or more seems like a good bet. The trade-off there is |
| just that if we set it too high, then we won't have enough statistics. Doing this very |
| clearly rewards GCs that are incremental, and punishes GCs that aren't (like ours). |
| That's what we want, since in the future we want to use this test to guide any |
| improvements to the worst-case performance of our GC. |
| |
| The way that the percentile is selected will also affect mandreel-latency. That's a |
| good thing, because 95% is probably too low for that test as well. That test ends up |
| with >10k samples. The goal of using 95% in the first place was to get enough samples |
| to have a stable average. But if we have >10k samples, we can push that percentile up |
| much higher and still get good statistics while achieving the effect we want - i.e. |
| getting the worst case. |
| |
| I don't think that we need to do the same thing for cdjs. That test only takes 200 |
| samples, so 95% means we report the average of the worst 10 samples. That's probably |
| good enough. |
| |
| * JetStream/Octane2/base.js: Raise the percentile as described above. |
| (BenchmarkSuite.prototype.RunSingleBenchmark): |
| * JetStream/Reference.js: Tweak the reference times to bring the latency tests closer to 100ish on my machine. |
| * JetStream/create.rb: Bump the version. |
| |
| 2015-06-19 Filip Pizlo <fpizlo@apple.com> |
| |
| Run CDjs as part of JSC stress testing |
| https://bugs.webkit.org/show_bug.cgi?id=146174 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * JetStream/cdjs/cdjs-tests.yaml: Added. This tells JSC stress tests what tests to run. It uses new syntax ("tests" being a list) that I add in this change. |
| * JetStream/cdjs/main.js: Mark this as a slow test. |
| * JetStream/create.rb: Don't copy the JSC stress tests artifacts into the JetStream bundle. |
| |
| 2015-06-19 Filip Pizlo <fpizlo@apple.com> |
| |
| Unreviewed, fix a small indentation goof. |
| |
| * JetStream/cdjs/motion.js: |
| (Motion.prototype.findIntersection): |
| |
| 2015-06-19 Filip Pizlo <fpizlo@apple.com> |
| |
| JetStream should include a JavaScript version of the CDx real-time benchmark |
| https://bugs.webkit.org/show_bug.cgi?id=146156 |
| |
| Reviewed by Geoffrey Garen. |
| |
| This adds a JavaScript port of the CDx real-time benchmark to JetStream, and retires |
| the cordic test because it was previously the smallest and probably least interesting. |
| |
| The new test, "cdjs", is mostly a faithful rewrite of the Java code into JavaScript. |
| I got the Java code from https://www.cs.purdue.edu/sss/projects/cdx/. |
| |
| There are some differences: |
| |
| - It uses RedBlackTree's for all sets and maps rather than hashtables. This is clearly |
| more in the spirit of real-time than the CDx benchmark. FWIW, CDx used to use trees |
| and I don't know why that changed in the latest version. |
| |
| - CDjs doesn't attempt to avoid memory allocations, unlike the real-time Java version. |
| I wrote the code that I wanted to write for aesthetics, rather than the code that I |
| would have written if I tried to write the fastest code possible. Again, I believe |
| that this is in the spirit of CDj - it's meant to test what would happen if you wrote |
| real-timey stuff in a high level language and actually took advantage of that |
| language to be more productive. |
| |
| The test score reflects the average latency of the worst 10 samples out of 200 samples. |
| The simulation uses 1000 aircraft, flying along paths that result in some detected |
| collisions every once in a while. The benchmark validates its results by checking the |
| total number of collisions detected. |
| |
| Apart from the integration into the JetStream harness, the CDjs directory contains a |
| fully self-contained benchmark that could be run either in the jsc shell or in browser. |
| |
| This new code uses the same 3-clause BSD license as the Purdue code, and gives |
| attribution to Purdue in almost all files. I believe that is appropriate since I wrote |
| most of the JS files by looking at the Purdue Java code and trascribing to JavaScript. |
| In some cases, I even copy-pasted the Java code, like the complicated math for |
| four-dimensional intersections and voxel hashing. |
| |
| * JetStream/CDjsSetup.js: Added. |
| * JetStream/Octane2Setup.js: |
| * JetStream/Reference.js: |
| * JetStream/cdjs: Added. |
| * JetStream/cdjs/benchmark.js: Added. |
| (benchmark): |
| * JetStream/cdjs/call_sign.js: Added. |
| (CallSign): |
| (CallSign.prototype.compareTo): |
| (CallSign.prototype.toString): |
| * JetStream/cdjs/collision.js: Added. |
| (Collision): |
| (Collision.prototype.toString): |
| * JetStream/cdjs/collision_detector.js: Added. |
| (CollisionDetector): |
| (CollisionDetector.prototype.handleNewFrame.get for): |
| (CollisionDetector.prototype.handleNewFrame): |
| * JetStream/cdjs/constants.js: Added. |
| * JetStream/cdjs/main.html: Added. |
| * JetStream/cdjs/main.js: Added. |
| * JetStream/cdjs/motion.js: Added. |
| (Motion): |
| (Motion.prototype.toString): |
| (Motion.prototype.delta): |
| (Motion.prototype.findIntersection): |
| * JetStream/cdjs/motion_test.js: Added. |
| (checkDoesIntersect): |
| (checkDoesNotIntersect): |
| (makeMotion): |
| * JetStream/cdjs/red_black_tree.js: Added. |
| (RedBlackTree): |
| (RedBlackTree.): |
| * JetStream/cdjs/red_black_tree_test.js: Added. |
| (test): |
| (test.): |
| * JetStream/cdjs/reduce_collision_set.js: Added. |
| (drawMotionOnVoxelMap): |
| (drawMotionOnVoxelMap.): |
| (.get reduceCollisionSet): |
| * JetStream/cdjs/reduce_collision_set_test.js: Added. |
| (makeMotion): |
| (keys): |
| (test): |
| * JetStream/cdjs/simulator.js: Added. |
| (Simulator): |
| (Simulator.prototype.simulate): |
| * JetStream/cdjs/util.js: Added. |
| (compareNumbers): |
| (averageAbovePercentile): |
| (currentTime): |
| (else.currentTime): |
| * JetStream/cdjs/vector_2d.js: Added. |
| (Vector2D): |
| (Vector2D.prototype.plus): |
| (Vector2D.prototype.minus): |
| (Vector2D.prototype.toString): |
| (Vector2D.prototype.compareTo): |
| * JetStream/cdjs/vector_3d.js: Added. |
| (Vector3D): |
| (Vector3D.prototype.plus): |
| (Vector3D.prototype.minus): |
| (Vector3D.prototype.dot): |
| (Vector3D.prototype.squaredMagnitude): |
| (Vector3D.prototype.magnitude): |
| (Vector3D.prototype.times): |
| (Vector3D.prototype.as2D): |
| (Vector3D.prototype.toString): |
| * JetStream/create.rb: |
| * JetStream/index-TEMPLATE.html: |
| * JetStream/sunspider/cordic.js: Removed. |
| |
| 2015-06-17 Javier Fernandez <jfernandez@igalia.com> |
| |
| [CSS Grid Layout] We should add performance tests for stretching logic |
| https://bugs.webkit.org/show_bug.cgi?id=146063 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| Added a new performance test for Grid Layout to ensure there are no |
| regressions in the stretching alignment logic. |
| |
| * Layout/fixed-grid-lots-of-stretched-data.html: Added. |
| |
| 2015-06-17 Javier Fernandez <jfernandez@igalia.com> |
| |
| [CSS Grid Layout] Performance tests are using the old syntax |
| https://bugs.webkit.org/show_bug.cgi?id=146061 |
| |
| Reviewed by Sergio Villar Senin. |
| |
| Adapted tests to the new grid tracks definition syntax. |
| |
| * Layout/auto-grid-lots-of-data.html: |
| * Layout/fixed-grid-lots-of-data.html: |
| |
| 2015-06-08 Filip Pizlo <fpizlo@apple.com> |
| |
| JetStream should have a more rational story for jitter-oriented latency tests |
| https://bugs.webkit.org/show_bug.cgi?id=145762 |
| |
| Reviewed by Geoffrey Garen. |
| |
| JetStream has some latency tests that are meant to measure jitter. Prior to this change, they |
| did this by computing the RMS. But the RMS is a pretty bad metric. The thing that it rewards |
| isn't really the thing that you'd want your browser to do. These RMS-based tests involve taking |
| the geomean of the RMS of some samples and the sample average. The lower the geomean, the better |
| (in the JetStream harness we then invert the scores so that higher is better, but let's ignore |
| that for this discussion and assume that lower is better). Here's an example of how this can go |
| bad. A browser that always computes a task in some horribly long time (say, 1000ms) but never |
| varies that time will perform better than a browser that usually computes the task super quickly |
| (say, 10ms) and sometimes just a little bit less quickly (say, 15ms). The former browser will |
| have an RMS of 0 and an average of 1000. The latter will have a RMS somewhere around 3.5 and an |
| average of 12.5 (assuming equal probability of 10ms and 15ms). The geomean of (0, 1000) is 0. |
| The geomean of (3.5, 12.5) is 6.6. Lower is better, so the former browser scores higher - even |
| though it's obviously never better to have a browser always complete a task in 1000ms when a |
| different browser can do it in 15ms in the worst case. |
| |
| JetStream should not have this pathology. The right way of avoiding it is to replace RMS with |
| some other metric of how bad things get. A good metric is the average of the worst percentile. |
| The worst 1% or the worst 5% would be good things to average. This will catch cases where the VM |
| jittered due to JIT or GC, but it never have the pathology that we end up giving the better score |
| to a VM whose best case is worst than another VM's worst case. |
| |
| For now, this change uses the highest samples above the 95% percentile. I'm not yet sure if that |
| is the best thing - it might include too many scores that are around the best-case performance - |
| but it's certainly better than RMS and it might be good enough to keep. But because of that |
| uncertainty, I'm setting the version to be "1.1-alpha1" to indicate that we aren't ready to |
| release this yet. |
| |
| * JetStream/Octane2/base.js: |
| (.this.Setup.setup.setup): |
| (.this.TearDown.tearDown.tearDown): |
| (BenchmarkSuite.GeometricMeanTime): |
| (BenchmarkSuite.AverageAbovePercentile): |
| (BenchmarkSuite.GeometricMeanLatency): |
| (BenchmarkSuite.prototype.NotifyStep): |
| (BenchmarkSuite.prototype.RunSingleBenchmark): |
| * JetStream/Octane2/mandreel.js: |
| (setupMandreel): |
| (updateMandreelStats): |
| (startMandreelTimer): |
| (latencyMandreel): |
| (tearDownMandreel): |
| (RMSMandreel): Deleted. |
| * JetStream/Octane2/splay.js: |
| (GenerateKey): |
| (SplayUpdateStats): |
| (InsertNewNode): |
| (SplayTearDown): |
| (SplayRMS): Deleted. |
| * JetStream/create.rb: |
| |
| 2015-06-03 Zalan Bujtas <zalan@apple.com> |
| |
| Skip Dromaeo/jslib-modify-prototype.html for now. |
| |
| Unreviewed gardening. |
| |
| * Skipped: |
| |
| 2015-05-04 Filip Pizlo <fpizlo@apple.com> |
| |
| Large array shouldn't be slow |
| https://bugs.webkit.org/show_bug.cgi?id=144617 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add the hash-map benchmark to LongSpider. LongSpider was already not a perfect match of |
| SunSpider. It's not an official benchmark. It contains benchmarks that are relatively |
| long-running. So, hash-map sort of belongs here. |
| |
| * LongSpider/hash-map.js: Added. |
| (HashMap): |
| (HashMap.): |
| (.get var): |
| |
| 2015-05-01 Dewei Zhu <dewei_zhu@apple.com> |
| |
| Fix typo bug in Speedometer/resources/main.js |
| https://bugs.webkit.org/show_bug.cgi?id=144504 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Speedometer/resources/main.js: Fix typo. |
| (window.benchmarkClient.totalTimeInDisplayUnit): |
| |
| 2015-04-21 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Add JetStream to PerformanceTests |
| https://bugs.webkit.org/show_bug.cgi?id=144024 |
| |
| Rubber-stamped by Filip Pizlo. |
| |
| * JetStream: Added. |
| * JetStream/JetStream-Logo.png: Added. |
| * JetStream/JetStream-Logo@2x.png: Added. |
| * JetStream/JetStream.css: Added. |
| * JetStream/JetStreamDriver.js: Added. |
| * JetStream/LICENSE.txt: Added. |
| * JetStream/LLVM-test-suite-LICENSE.txt: Added. |
| * JetStream/Octane: Added. |
| * JetStream/Octane/base.js: Added. |
| * JetStream/Octane/code-load.js: Added. |
| * JetStream/Octane2: Added. |
| * JetStream/Octane2/base.js: Added. |
| * JetStream/Octane2/box2d.js: Added. |
| * JetStream/Octane2/code-load.js: Added. |
| * JetStream/Octane2/crypto.js: Added. |
| * JetStream/Octane2/deltablue.js: Added. |
| * JetStream/Octane2/earley-boyer.js: Added. |
| * JetStream/Octane2/gbemu-part1.js: Added. |
| * JetStream/Octane2/gbemu-part2.js: Added. |
| * JetStream/Octane2/mandreel.js: Added. |
| * JetStream/Octane2/navier-stokes.js: Added. |
| * JetStream/Octane2/pdfjs.js: Added. |
| * JetStream/Octane2/raytrace.js: Added. |
| * JetStream/Octane2/regexp.js: Added. |
| * JetStream/Octane2/richards.js: Added. |
| * JetStream/Octane2/run.js: Added. |
| * JetStream/Octane2/splay.js: Added. |
| * JetStream/Octane2/typescript-compiler.js: Added. |
| * JetStream/Octane2/typescript-input.js: Added. |
| * JetStream/Octane2/typescript.js: Added. |
| * JetStream/Octane2/zlib-data.js: Added. |
| * JetStream/Octane2/zlib.js: Added. |
| * JetStream/Octane2Setup.js: Added. |
| * JetStream/OctaneSetup.js: Added. |
| * JetStream/README: Added. |
| * JetStream/Reference.js: Added. |
| * JetStream/SimpleSetup.js: Added. |
| * JetStream/SunSpiderSetup.js: Added. |
| * JetStream/Swoosh.png: Added. |
| * JetStream/Swoosh@2x.png: Added. |
| * JetStream/TestingSetup.js: Added. |
| * JetStream/create.rb: Added. |
| * JetStream/docs: Added. |
| * JetStream/docs/JetStreamBlogPost.html: Added. |
| * JetStream/in-depth-TEMPLATE.html: Added. |
| * JetStream/index-TEMPLATE.html: Added. |
| * JetStream/simple: Added. |
| * JetStream/simple/bigfib.cpp: Added. |
| * JetStream/simple/bigfib.cpp.js: Added. |
| * JetStream/simple/container.cpp: Added. |
| * JetStream/simple/container.cpp.js: Added. |
| * JetStream/simple/dry.c: Added. |
| * JetStream/simple/dry.c.js: Added. |
| * JetStream/simple/float-mm.c: Added. |
| * JetStream/simple/float-mm.c.js: Added. |
| * JetStream/simple/gcc-loops.cpp: Added. |
| * JetStream/simple/gcc-loops.cpp.js: Added. |
| * JetStream/simple/hash-map.js: Added. |
| * JetStream/simple/n-body.c: Added. |
| * JetStream/simple/n-body.c.js: Added. |
| * JetStream/simple/quicksort.c: Added. |
| * JetStream/simple/quicksort.c.js: Added. |
| * JetStream/simple/towers.c: Added. |
| * JetStream/simple/towers.c.js: Added. |
| * JetStream/sunspider: Added. |
| * JetStream/sunspider/3d-cube.js: Added. |
| * JetStream/sunspider/3d-raytrace.js: Added. |
| * JetStream/sunspider/base64.js: Added. |
| * JetStream/sunspider/cordic.js: Added. |
| * JetStream/sunspider/crypto-aes.js: Added. |
| * JetStream/sunspider/crypto-md5.js: Added. |
| * JetStream/sunspider/crypto-sha1.js: Added. |
| * JetStream/sunspider/date-format-tofte.js: Added. |
| * JetStream/sunspider/date-format-xparb.js: Added. |
| * JetStream/sunspider/n-body.js: Added. |
| * JetStream/sunspider/regex-dna.js: Added. |
| * JetStream/sunspider/tagcloud.js: Added. |
| |
| 2015-04-14 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| textPath layout performance improvement. |
| https://bugs.webkit.org/show_bug.cgi?id=141570. |
| |
| Reviewed by Darin Adler. |
| |
| Cut down the time spent in traversing the path for text by 50%. Instead |
| of traversing the path twice at a certain length: one time for the position |
| and the second time for the angle, we can merge these two passes into one. |
| |
| * SVG/TextOnPathSimple.html: Added. |
| * SVG/resources/TextOnPathSimple.svg: Added. |
| |
| 2015-04-13 Zalan Bujtas <zalan@apple.com> |
| |
| Clear up the test content when test is done. |
| |
| Unreviewed fix. |
| |
| * Layout/simple-line-layout-innertext.html: |
| |
| 2015-04-09 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout(regression): Calling innerText on RenderFlow with multiple children is slow. |
| https://bugs.webkit.org/show_bug.cgi?id=143554 |
| |
| Reviewed by Antti Koivisto. |
| |
| Initialize render flow's segments only when the render flow changes in TextIterator. |
| The included performance test shows 6x speedup. (from ~10 runs/sec to ~60 runs/sec) |
| |
| * Layout/simple-line-layout-innertext.html: Added. |
| |
| 2015-03-09 Chris Dumez <cdumez@apple.com> |
| |
| [CG] Have Canvas use the IOSurfacePool |
| https://bugs.webkit.org/show_bug.cgi?id=142417 |
| <rdar://problem/20044440> |
| |
| Reviewed by Darin Adler. |
| |
| Lower the number of different canvas sizes from 1000 to 100 so that |
| the test does not require such a huge cache size. With 100, we now |
| get over 90% cache hit rate with the default IOSurfacePool size. |
| |
| * Canvas/reuse.html: |
| |
| 2015-01-28 Said Abou-Hallawa <sabouhallawa@apple.com> |
| |
| Poor performance on IE's Chalkboard benchmark. |
| https://bugs.webkit.org/show_bug.cgi?id=140753. |
| |
| Reviewed by Zalan Bujtas. |
| |
| * SVG/UnderTheSeeBenchmark.html: Added |
| * SVG/WorldcupBenchmark.html: Added. |
| * SVG/resources/RenderAnimator.css: Added. |
| * SVG/resources/RenderAnimator.js: Added. |
| These are benchmarks for the SVG rendering. Mainly we want to measure how fast |
| the SVG rendering will be when only a small part of it is drawn. |
| |
| 2015-01-21 Geoffrey Garen <ggaren@apple.com> |
| |
| bmalloc: support aligned allocation |
| https://bugs.webkit.org/show_bug.cgi?id=140732 |
| |
| Reviewed by Andreas Kling. |
| |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: |
| * MallocBench/MallocBench/Benchmark.cpp: |
| * MallocBench/MallocBench/memalign.cpp: |
| (test): |
| (benchmark_memalign): Added a test for specific interesting memalign values. |
| |
| * MallocBench/MallocBench/stress_aligned.cpp: Added. |
| (benchmark_stress_aligned): |
| * MallocBench/MallocBench/stress_aligned.h: Added. Added a stress test |
| for arbitrary memalign values. |
| |
| 2015-01-16 Geoffrey Garen <ggaren@apple.com> |
| |
| bmalloc: added the tiniest bit of testing for aligned allocation |
| https://bugs.webkit.org/show_bug.cgi?id=140573 |
| |
| Reviewed by Andreas Kling. |
| |
| Just good enoug to catch two bugs in a preliminary implementation. |
| |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: |
| * MallocBench/MallocBench/Benchmark.cpp: |
| * MallocBench/MallocBench/mbmalloc.cpp: |
| * MallocBench/MallocBench/mbmalloc.h: |
| * MallocBench/MallocBench/memalign.cpp: Added. |
| (benchmark_memalign): |
| * MallocBench/MallocBench/memalign.h: Added. |
| |
| 2014-12-09 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Add performance test related to font fallback |
| https://bugs.webkit.org/show_bug.cgi?id=139332 |
| |
| Reviewed by Simon Fraser. |
| |
| * Layout/font-fallback.html: Added. |
| * Layout/resources/font-fallback.html: Added. |
| |
| 2014-12-08 Dean Jackson <dino@apple.com> |
| |
| [Apple] Use Accelerate framework to speed-up FEGaussianBlur |
| https://bugs.webkit.org/show_bug.cgi?id=139310 |
| |
| Reviewed by Simon Fraser. |
| |
| Add an interactive performance test that measures the speed of a set |
| of blur operations on a generated images. |
| |
| * Interactive/blur-filter-timing.html: Added. |
| |
| 2014-11-13 Zalan Bujtas <zalan@apple.com> |
| |
| Simple line layout: Add performance test case to measure line layout speed of monolithic text content. |
| https://bugs.webkit.org/show_bug.cgi?id=138699 |
| |
| Reviewed by Antti Koivisto. |
| |
| * Layout/line-layout-long-long-text.html: Added. |
| |
| 2014-10-22 Zalan Bujtas <zalan@apple.com> |
| |
| Speed up line parsing for simple line layout (part I) |
| https://bugs.webkit.org/show_bug.cgi?id=137275 |
| |
| Reviewed by Antti Koivisto. |
| |
| Extend simple line layout performance test with a few more cases. |
| Now we've got: |
| <div center |
| <div right |
| <div justify |
| <div white-space: pre (new) |
| <div overflow-wrap: break-word (new) |
| <pre |
| <pre white-space: pre-wrap |
| <pre white-space: pre-line (new) |
| <pre white-space: nowrap (new) |
| <pre white-space: pre-wrap overflow-wrap: break-word |
| <div + embedded <span etc. |
| <div + br |
| |
| * Layout/line-layout-simple.html: |
| |
| 2014-10-15 Andrei Bucur <abucur@adobe.com> |
| |
| [Multicol] Start adding performance tests for the multi-column implementation |
| https://bugs.webkit.org/show_bug.cgi?id=137687 |
| |
| Reviewed by Mihnea Ovidenie. |
| |
| This patch creates a Multicol folder inside the Layout performance tests suite. It adds only two tests |
| as described below. |
| |
| The tests are skipped until the implementation stabilizes. |
| |
| * Layout/Multicol/MulticolManyColumns.html: Added. |
| This test verifies the performance of the multi-column implementation with two nested multi-column |
| containers, the first having 20 columns and the second 10 columns. |
| |
| * Layout/Multicol/MulticolNested.html: Added. |
| This test verifies the performance of nesting multi-column containers in the presence |
| of floats. |
| |
| * Layout/Multicol/resources/multicol-content-many-columns.html: Added. |
| * Layout/Multicol/resources/multicol-content-nested.html: Added. |
| * Skipped: Skip the Multicol folder for now. |
| |
| 2014-09-29 Filip Pizlo <fpizlo@apple.com> |
| |
| It should be fun and easy to run every possible JavaScript benchmark from the command line |
| https://bugs.webkit.org/show_bug.cgi?id=137245 |
| |
| Reviewed by Oliver Hunt. |
| |
| This adds the scaffolding for running Octane version 2 inside run-jsc-benchmarks. |
| In the future we should just land Octane2 in this directory, and run-jsc-benchmarks |
| should be changed to point directly at this directory instead of requiring the |
| Octane path to be configured as part of the configuration file. |
| |
| * Octane: Added. |
| * Octane/wrappers: Added. |
| * Octane/wrappers/jsc-box2d.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-boyer.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-closure.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-decrypt.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-deltablue.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-earley.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-encrypt.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-gbemu.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-jquery.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-mandreel.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-navier-stokes.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-pdfjs.js: Added. |
| (jscSetUp.PdfJS_window.console.log): |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-raytrace.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-regexp.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-richards.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-splay.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-typescript.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| * Octane/wrappers/jsc-zlib.js: Added. |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| |
| 2014-09-28 Sungmann Cho <sungmann.cho@navercorp.com> |
| |
| Fix some minor typos: psuedo -> pseudo |
| https://bugs.webkit.org/show_bug.cgi?id=137192 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| * Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js: |
| |
| 2014-09-11 Geoffrey Garen <ggaren@apple.com> |
| |
| Some MallocBench refinements |
| https://bugs.webkit.org/show_bug.cgi?id=136750 |
| |
| Reviewed by Sam Weinig. |
| |
| * MallocBench/MallocBench/Interpreter.cpp: |
| (Interpreter::run): Allow for null entries in the object list so that |
| we can test in modes that exclude large or small allocations. |
| |
| * MallocBench/MallocBench/churn.cpp: |
| (benchmark_churn): |
| * MallocBench/MallocBench/flickr.cpp: |
| (benchmark_flickr): |
| * MallocBench/MallocBench/fragment.cpp: |
| (benchmark_fragment_iterate): |
| * MallocBench/MallocBench/list.cpp: |
| (benchmark_list_allocate): |
| * MallocBench/MallocBench/reddit.cpp: |
| (benchmark_reddit): Updated test runtimes to weight them more equally, |
| for the sake of arithmetic mean. |
| |
| * MallocBench/MallocBench/stress.cpp: |
| (Object::Object): |
| (allocate): |
| (deallocate): |
| (benchmark_stress): Verify the contents of memory as we go. Also, |
| force scavenging each time through the loop to test the scavenging path. |
| |
| * MallocBench/MallocBench/theverge.cpp: |
| (benchmark_theverge): |
| * MallocBench/MallocBench/tree.cpp: |
| (benchmark_tree_churn): Re-weighted, as above. |
| |
| 2014-09-08 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| PerformanceTests/SVG/SVG-Text.html has unparsable output |
| https://bugs.webkit.org/show_bug.cgi?id=136648 |
| |
| Reviewed by Gavin Barraclough. |
| |
| I need to clean up the arbitrary text on the page before telling |
| the test runner infrastructure that the test is complete. |
| |
| * SVG/SVG-Text.html: |
| |
| 2014-09-05 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Laying out a TextRun using an SVG font is O(n^2) |
| https://bugs.webkit.org/show_bug.cgi?id=136584 |
| |
| Reviewed by Andreas Kling. |
| |
| Time how long it takes to lay out and render some text using an SVG font. |
| |
| * SVG/SVG-Text.html: Added. |
| * SVG/resources/graffiti.svg: Added. |
| |
| 2014-09-02 Geoffrey Garen <ggaren@apple.com> |
| |
| MallocBench should have a stress test for correctness |
| https://bugs.webkit.org/show_bug.cgi?id=136468 |
| |
| Reviewed by Andreas Kling. |
| |
| Added a stress test that allocates randomized sizes of randomized |
| lifetimes in randomized order. |
| |
| This version of the test reproduces the EWS crash seen in bmalloc |
| (<https://bugs.webkit.org/show_bug.cgi?id=132629>). |
| |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: |
| * MallocBench/MallocBench/Benchmark.cpp: Sort! |
| * MallocBench/MallocBench/stress.cpp: Added. |
| (Object::Object): |
| (SizeStream::SizeStream): |
| (SizeStream::next): |
| (benchmark_stress): Usually, we random(0). Surprisingly, though, only |
| random(1) reproduces the bug I was looking for. |
| * MallocBench/MallocBench/stress.h: Added. |
| |
| 2014-06-02 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Rename DoYouEvenBench 0.17 to Speedometer 1.0 and add a new look. |
| https://bugs.webkit.org/show_bug.cgi?id=133455 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * Speedometer/: Renamed from DoYouEvenBench. |
| * Skipped: Updated the path for InteractiveRunner.html |
| |
| 2014-06-02 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Rename DoYouEvenBench 0.17 to Speedometer 1.0 and add a new look. |
| https://bugs.webkit.org/show_bug.cgi?id=133455 |
| |
| Reviewed by Timothy Hatcher. |
| |
| Renamed the benchmark to Speedometer and added the new look designed by Timothy Hatcher. |
| |
| Also changed the unit of measurements from milliseconds to runs-per-minute averaged over the number |
| of the benchmark suites (7 for 1.0). You can divide 420000 by the old benchmark score (in milliseconds) |
| to get the new value for the set of tests that are enabled by default in 1.0. You can continue to see |
| results in milliseconds on Full.html#ms. |
| |
| * DoYouEvenBench/Full.html: Added a bunch of sections and the description of the benchmark. |
| |
| * DoYouEvenBench/resources/benchmark-report.js: Remove the newly added content when ran inside a DRT or |
| WTR so that run-perf-tests wouldn't error. |
| * DoYouEvenBench/resources/benchmark-runner.js: |
| (BenchmarkRunner.prototype._appendFrame): Call a newly added willAddTestFrame callback when it exists. |
| |
| * DoYouEvenBench/resources/gauge.png: Added. |
| * DoYouEvenBench/resources/gauge@2x.png: Added. |
| * DoYouEvenBench/resources/logo.png: Added. |
| * DoYouEvenBench/resources/logo@2x.png: Added. |
| * DoYouEvenBench/resources/main.css: Replaced the style. |
| |
| * DoYouEvenBench/resources/main.js: |
| (window.benchmarkClient.willAddTestFrame): Place the iframe right where #testContainer is shown. |
| (window.benchmarkClient.willRunTest): Show the name of the suite (e.g. EmberJS-TodoMVC) to run next. |
| (window.benchmarkClient.didRunSuites): |
| (window.benchmarkClient.willStartFirstIteration): Initialize _timeValues and _finishedTestCount now that |
| we have an UI to run the benchmark multiple times without reloading the page. |
| (window.benchmarkClient.didFinishLastIteration): Split into smaller pieces. |
| (window.benchmarkClient._computeResults): Computes the mean and the statistics for the given time values, |
| and also format them in a human readable form. |
| (window.benchmarkClient._computeResults.totalTimeInDisplayUnit): Converts ms to runs/min. |
| (window.benchmarkClient._computeResults.sigFigFromPercentDelta): Given a percentage error (e.g. 1%), |
| returns the number of significant digits required for the mean. |
| (window.benchmarkClient._computeResults.toSigFigPrecision): Calls toPrecision with the specified precision |
| constrained to be at least the number of non-decimal digits and at most 6. |
| (window.benchmarkClient._addDetailedResultsRow): Renamed from _addResult. It now takes the table to which |
| to add a row and the iteration number. |
| (window.benchmarkClient._updateGaugeNeedle): Added. Controls the angle of the speed indicator. |
| (window.benchmarkClient._populateDetailedResults): Added. |
| (window.benchmarkClient.prepareUI): Added. It adds an event listener to show a specified section when |
| the push state of the document changes, and shows a warning sign when the view port size is too small. |
| We do this inside a callback to avoid running it inside DRT / WTR. |
| (startBenchmark): |
| (showSection): Added. |
| (startTest): Added. |
| (showResultsSummary): Added. |
| (showResultDetails): Added. |
| (showAbout): Added. |
| |
| 2014-06-01 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DYEBench: Move test states into benchmarkClient and remove the closure |
| https://bugs.webkit.org/show_bug.cgi?id=133438 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Moved all local variables in the closure wrapping benchmarkClient onto the object itself |
| and removed the closure to improve the readability of the code. |
| |
| * DoYouEvenBench/Full.html: |
| * DoYouEvenBench/resources/main.js: |
| (window.benchmarkClient.willRunTest): |
| (window.benchmarkClient.didRunTest): |
| (window.benchmarkClient.didRunSuites): |
| (window.benchmarkClient.willStartFirstIteration): |
| (window.benchmarkClient.didFinishLastIteration): |
| (window.benchmarkClient._addResult): Moved. |
| (.): Deleted. |
| |
| 2014-06-01 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DYEBench: Split stylesheets and scripts in Full.html into separate files |
| https://bugs.webkit.org/show_bug.cgi?id=133437 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Extracted main.js and main.css. |
| |
| Also fixed a bug in startBenchmark that disabled suites were counted towards the total number of tests. |
| |
| * DoYouEvenBench/Full.html: |
| * DoYouEvenBench/resources/main.css: Added. |
| * DoYouEvenBench/resources/main.js: Added. |
| (.addResult): |
| (window.benchmarkClient): |
| (startBenchmark): Renamed from startTest. |
| |
| 2014-06-01 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DYEBench: CSS parser warning at line 106 of base.css |
| https://bugs.webkit.org/show_bug.cgi?id=133433 |
| |
| Reviewed by Maciej Stachowiak. |
| |
| Removed the old filter CSS property for Internet Explorer. The latest Internet Explorer supports -ms-linear-gradient |
| on background CSS property anyways. |
| |
| It's interesting that some of the tests only have -webkit- prefixes. Perhaps we should update those subtests. |
| |
| * DoYouEvenBench/Full.html: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.css: |
| (#header:before): |
| * DoYouEvenBench/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.css: |
| (#header:before): |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css: |
| (#header:before): |
| * DoYouEvenBench/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.css: |
| (#header:before): |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.css: |
| (#header:before): |
| * DoYouEvenBench/resources/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.css: |
| (#header:before): |
| * DoYouEvenBench/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.css: |
| (#header:before): |
| |
| 2014-05-31 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DYEBench: Ember.js assertion hit at line 20593 |
| https://bugs.webkit.org/show_bug.cgi?id=133431 |
| |
| Reviewed by Darin Adler. |
| |
| The assertion was hit because ToDoMVC includes jQuery 2.1 and Ember.js 1.3.1 only recognizes jQuery 2.0. |
| Port the assertion from Ember.js 1.5.1 to suppress the assertion. |
| |
| We should update the entire Ember.js at some point but this would do the job for now. |
| |
| * DoYouEvenBench/Full.html: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js: |
| |
| 2014-05-31 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DYEBench: Prevent frame flattening on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=133428 |
| |
| Reviewed by Andreas Kling. |
| |
| Prevent frame flattening on iOS by setting scrolling=no. |
| |
| * DoYouEvenBench/Full.html: |
| * DoYouEvenBench/resources/benchmark-runner.js: |
| (BenchmarkRunner.prototype._appendFrame): |
| |
| 2014-05-30 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DYEBench spits out 404 errors for learn.json |
| https://bugs.webkit.org/show_bug.cgi?id=133416 |
| |
| Reviewed by Oliver Hunt. |
| |
| Add an empty learn.json file so that it won't cause a 404 error when hosted on a http server. |
| |
| Bumped the version number to 0.12. |
| |
| * DoYouEvenBench/Full.html: |
| * DoYouEvenBench/resources/todomvc/learn.json: |
| |
| 2014-05-23 Geoffrey Garen <ggaren@apple.com> |
| |
| Performance testing, diamond-square terrain generation + canvas |
| https://bugs.webkit.org/show_bug.cgi?id=133054 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This test was written by Hunter Loftis. It originally appeared on his |
| blog @ <http://www.playfuljs.com/realistic-terrain-in-130-lines/>. |
| |
| I did a bit of editing for format and benchmark suitability. |
| |
| * Canvas/terrain.html: Added. |
| |
| 2014-05-13 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DYEBench should run 20 iterations in browser |
| https://bugs.webkit.org/show_bug.cgi?id=132795 |
| |
| Reviewed by Gavin Barraclough. |
| |
| Right now, run-perf-tests runs BYEBench 4 times with different instances of DRT/WTR to get |
| a more stable time and account for differences in the runtime environment, particularly, |
| ASLR (Address Space Layout Randomization). |
| |
| While we can't account for the latter effect when the benchmark is ran inside a browser, |
| we can at least run 20 iterations to get a more stable (but perhaps biased by ALSR) number. |
| |
| While the sample size of 20 is statistically unsound to compute the arithmetic mean from, |
| it's MUCH better than the current sample size of 5. |
| |
| * DoYouEvenBench/Full.html: |
| (benchmarkClient.iterationCount): Set the default iteration count to 20. |
| (startTest): Use benchmarkClient.iterationCount as the iteration count. |
| * DoYouEvenBench/resources/benchmark-report.js: |
| (benchmarkClient.iterationCount): Continue to use the old iteration count of 5 when ran |
| inside run-perf-tests. |
| |
| 2014-05-09 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DYEBench should show 95th percentile right next to the mean with ± |
| https://bugs.webkit.org/show_bug.cgi?id=132729 |
| |
| Reviewed by Darin Adler. |
| |
| Before this patch, Full.html showed the 95th percentile delta for the arthemtic mean in a separate row |
| but this was confusing for some people. Show it right next to mean in the same row separated by ±. |
| |
| * DoYouEvenBench/Full.html: |
| |
| 2014-05-08 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DYEBench should use TodoMVC to test FlightJS for consistency |
| https://bugs.webkit.org/show_bug.cgi?id=132727 |
| |
| Reviewed by Andreas Kling. |
| |
| Add a test suite for the FlightJS version of TodoMVC, and disable FlightJS-MailClient by default. |
| |
| I initially intended to include a wider variety of demo apps in DYEBench |
| but that's not happening any time soon so let us use TodoMVC for all frameworks for now. |
| |
| We can add more demo apps in v2. |
| |
| * DoYouEvenBench/Full.html: Increment the version to 0.10. |
| * DoYouEvenBench/InteractiveRunner.html: Don't check disabled suites by default. |
| * DoYouEvenBench/resources/tests.js: |
| * DoYouEvenBench/resources/todomvc/dependency-examples: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/.gitignore: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/.jshintrc: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/app.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/data: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/data/stats.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/data/todos.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/main.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/store.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/main_selector.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/new_item.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/stats.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/todo_list.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/toggle_all.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/with_filters.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/utils.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/templates: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/templates/stats.html: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/templates/todo.html: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower.json: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/depot: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/depot/depot.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/es5-shim: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-sham.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-shim.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/advice.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/base.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/component.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/compose.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/debug.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/index.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/logger.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/registry.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/utils.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/jquery: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/jquery/jquery.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/requirejs: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/requirejs-text: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/requirejs-text/text.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/requirejs/require.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.css: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/bg.png: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/index.html: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/karma.conf.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/package.json: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/readme.md: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/.jshintrc: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/fixture: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/fixture/footer.html: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/fixture/new_todo.html: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/fixture/toggle_all.html: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/mock: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/mock/datastore.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/data: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/data/stats_spec.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/data/todos_spec.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/ui: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/ui/new_item_spec.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/ui/stats_spec.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/ui/toggle_all_spec.js: Added. |
| * DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/test-main.js: Added. |
| |
| 2014-05-07 Manuel Rego Casasnovas <rego@igalia.com> |
| |
| [CSS Grid Layout] Remove runtime feature |
| https://bugs.webkit.org/show_bug.cgi?id=132382 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Remove set of WebKitCSSGridLayoutEnabled preference. |
| |
| * Layout/auto-grid-lots-of-data.html: |
| * Layout/fixed-grid-lots-of-data.html: |
| |
| 2014-05-06 Radu Stavila <stavila@adobe.com> |
| |
| [CSSRegions] Enabled regions performance tests by default |
| https://bugs.webkit.org/show_bug.cgi?id=128244 |
| |
| Reviewed by Andreas Kling. |
| |
| Enabled regions performance tests. |
| |
| * Skipped: |
| |
| 2014-04-25 Andreas Kling <akling@apple.com> |
| |
| Bump jQuery to same version that dromaeo.com uses. |
| |
| Rubber-stamped by Ryosuke Niwa. |
| |
| * Dromaeo/resources/dromaeo/web/lib/jquery-1.10.2.min.js: Added. |
| * Dromaeo/resources/dromaeo/web/tests/cssquery-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-attr-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-event-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-modify-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-style-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-traverse-jquery.html: |
| |
| 2014-04-18 Geoffrey Garen <ggaren@apple.com> |
| |
| Added some more Membuster recordings to MallocBench |
| https://bugs.webkit.org/show_bug.cgi?id=131862 |
| |
| Reviewed by Sam Weinig. |
| |
| * MallocBench/MallocBench/Benchmark.cpp: |
| (Benchmark::Benchmark): |
| (Benchmark::run): |
| * MallocBench/MallocBench/Benchmark.h: |
| * MallocBench/MallocBench/CommandLine.cpp: |
| * MallocBench/MallocBench/CommandLine.h: |
| (CommandLine::runs): Added a --runs option, so we can specify zero runs |
| for memory warning benchmarks. Those benchmarks want zero runs so that |
| they can perform a single warmup, which does not free all allocated |
| objects, and then see how far back to 0MB they can get. Running multiple |
| times would accumulate leaks, which is not representative of the |
| simulated scenario. |
| |
| * MallocBench/MallocBench/Interpreter.cpp: |
| (Interpreter::Interpreter): |
| (Interpreter::run): |
| * MallocBench/MallocBench/Interpreter.h: Support not deallocating all |
| objects allocated during the recording, so we can do low memory warning |
| memory use measurements, as above. |
| |
| * MallocBench/MallocBench/flickr.cpp: |
| (benchmark_flickr_memory_warning): |
| * MallocBench/MallocBench/main.cpp: |
| (main): |
| * MallocBench/MallocBench/reddit.cpp: |
| (benchmark_reddit_memory_warning): |
| * MallocBench/MallocBench/theverge.cpp: |
| (benchmark_theverge_memory_warning): Adopt the API above. |
| |
| * MallocBench/run-malloc-benchmarks: I took a first pass at listing all |
| available benchmarks here. Then I commented out the benchmarks that |
| probably aren't reasonable to run by default. |
| |
| 2014-04-18 Geoffrey Garen <ggaren@apple.com> |
| |
| MallocBench: removed the --measure-heap option |
| https://bugs.webkit.org/show_bug.cgi?id=131854 |
| |
| Reviewed by Sam Weinig. |
| |
| As of <https://bugs.webkit.org/show_bug.cgi?id=131661>, measuring the |
| heap is fast, so there's no reason to disable it. |
| |
| * MallocBench/MallocBench/Benchmark.cpp: |
| (Benchmark::Benchmark): |
| (Benchmark::run): |
| (Benchmark::printReport): |
| * MallocBench/MallocBench/Benchmark.h: |
| * MallocBench/MallocBench/CommandLine.cpp: |
| (CommandLine::printUsage): |
| * MallocBench/MallocBench/CommandLine.h: |
| (CommandLine::heapSize): |
| (CommandLine::measureHeap): Deleted. |
| * MallocBench/MallocBench/main.cpp: |
| (main): |
| |
| 2014-04-16 Alexandru Chiculita <achicu@adobe.com> |
| |
| Improve performance of the RenderLayerCompositor::OverlapMap |
| https://bugs.webkit.org/show_bug.cgi?id=115063 |
| |
| Reviewed by Simon Fraser. |
| |
| Testing the performance of computing the overlap of 5000 layers. |
| |
| * Layout/layers_overlap_2d.html: Added. Using non-composited layers, to check |
| that the performance on the non-composited path is not changing with this patch. |
| * Layout/layers_overlap_3d.html: Added. Records the time to do the layout of 5000 |
| non-overlapping 3D layers. |
| |
| 2014-04-15 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Linking stylesheet instead of inline style definition has ruined ShapesRegions test |
| https://bugs.webkit.org/show_bug.cgi?id=131572 |
| |
| Reviewed by Rob Buis. |
| |
| In r167022 I moved the common CSS selectors into RegionsShapes.css, then I linked it into the perf test |
| files, but the measurement results dropped down from about 400ms to 10ms. I realized it's caused by the |
| linked css rule, so I've put the selectors back into every test case, which fixes the test measurements. |
| |
| * Layout/Shapes/resources/RegionsShapes.css: Removed. |
| * Layout/Shapes/resources/RegionsShapesContent.html: |
| * Layout/Shapes/resources/RegionsShapesContentNoRegionsWidth400.html: |
| * Layout/Shapes/resources/RegionsShapesContentNoRegionsWidth600.html: |
| * Layout/Shapes/resources/RegionsShapesContentNoRegionsWidth800.html: |
| * Layout/Shapes/resources/RegionsShapesContentNoShapes.html: |
| |
| 2014-04-14 Geoffrey Garen <ggaren@apple.com> |
| |
| MallocBench should scavenge explicitly instead of waiting |
| https://bugs.webkit.org/show_bug.cgi?id=131661 |
| |
| Reviewed by Andreas Kling. |
| |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: Don't build mbmalloc |
| by default because it will overwrite any other mbmalloc you're working |
| with in the WebKitBuild directory. |
| |
| * MallocBench/MallocBench/Benchmark.cpp: |
| (Benchmark::run): Scavenge explicitly instead of waiting. This is faster, |
| and it's the only way to get FastMalloc to scavenge. (That's a bug in |
| FastMalloc, but we don't want it to interfere with broader testing.) |
| |
| * MallocBench/MallocBench/mbmalloc.cpp: |
| * MallocBench/MallocBench/mbmalloc.h: Added a scavenge implementation |
| for system malloc. |
| |
| 2014-04-14 Geoffrey Garen <ggaren@apple.com> |
| |
| A few MallocBench record/replay fixes |
| https://bugs.webkit.org/show_bug.cgi?id=131627 |
| |
| Reviewed by Andreas Kling. |
| |
| * MallocBench/MallocBench/Interpreter.cpp: |
| (Interpreter::run): Accept 0-sized allocations without asserting because |
| WebKit does that sometimes. |
| |
| * MallocBench/MallocBench/flickr.ops: |
| * MallocBench/MallocBench/flickr_memory_warning.ops: |
| * MallocBench/MallocBench/reddit.ops: |
| * MallocBench/MallocBench/reddit_memory_warning.ops: |
| * MallocBench/MallocBench/theverge.ops: |
| * MallocBench/MallocBench/theverge_memory_warning.ops: Updated these |
| recordings because a bug in the recording mechanism caused one out of |
| every few thousand slot values to be bogus. |
| |
| 2014-04-13 Geoffrey Garen <ggaren@apple.com> |
| |
| Added some website recordings to MallocBench -- taken from Membuster |
| https://bugs.webkit.org/show_bug.cgi?id=131601 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Added flickr, reddit, and theverge -- each recorded from Membuster's |
| cache, with and without sending Safari a low memory warning. |
| |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: |
| * MallocBench/MallocBench/Benchmark.cpp: |
| * MallocBench/MallocBench/flickr.cpp: Added. |
| (benchmark_flickr): |
| (benchmark_flickr_memory_warning): |
| * MallocBench/MallocBench/flickr.h: Added. |
| * MallocBench/MallocBench/flickr.ops: Added. |
| * MallocBench/MallocBench/flickr_memory_warning.ops: Added. |
| * MallocBench/MallocBench/reddit.cpp: Added. |
| (benchmark_reddit): |
| (benchmark_reddit_memory_warning): |
| * MallocBench/MallocBench/reddit.h: Added. |
| * MallocBench/MallocBench/reddit.ops: Added. |
| * MallocBench/MallocBench/reddit_memory_warning.ops: Added. |
| * MallocBench/MallocBench/theverge.cpp: Added. |
| (benchmark_theverge): |
| (benchmark_theverge_memory_warning): |
| * MallocBench/MallocBench/theverge.h: Added. |
| * MallocBench/MallocBench/theverge.ops: Added. |
| * MallocBench/MallocBench/theverge_memory_warning.ops: Added. |
| |
| 2014-04-13 Geoffrey Garen <ggaren@apple.com> |
| |
| MallocBench record/replay should support realloc |
| https://bugs.webkit.org/show_bug.cgi?id=131598 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: Fixed some linkage |
| issues that caused us not to fully link to system malloc in the default |
| case. Also marked mbmalloc.dylib as required so the error message will |
| be clearer if we mess up. |
| |
| * MallocBench/MallocBench/Interpreter.cpp: |
| (Interpreter::run): |
| * MallocBench/MallocBench/Interpreter.h: Added the realloc case, and |
| upgraded one-letter names to full words. |
| |
| 2014-04-11 Dirk Schulze <krit@webkit.org> |
| |
| Optimize Canvas fill and drawImage with SourceIn, DestinationIn, SourceOut, and DestinationAtop using transparencyLayer. |
| https://bugs.webkit.org/show_bug.cgi?id=79659 |
| |
| Reviewed by Andreas Kling. |
| |
| Add performance tests for real this time. |
| |
| * Canvas/compositing-drawimage.html: Added. |
| * Canvas/compositing-fillRect.html: Added. |
| |
| |
| 2014-04-11 Dirk Schulze <krit@webkit.org> |
| |
| Optimize Canvas fill and drawImage with SourceIn, DestinationIn, SourceOut, and DestinationAtop using transparencyLayer. |
| https://bugs.webkit.org/show_bug.cgi?id=79659 |
| |
| Reviewed by Andreas Kling. |
| |
| Add performance tests for fillRect() and drawImage() on composited contexts. |
| |
| * Canvas/compositing-drawimage.html: Added. |
| * Canvas/compositing-fillRect.html: Added. |
| |
| 2014-04-09 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add no shapes version of RegionsShapes performance test |
| https://bugs.webkit.org/show_bug.cgi?id=131455 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This is a no shapes version of the RegionsShapes performance test. All the content |
| will wrap around the floating containers. This way we can compare the runtime/memory |
| usage of the RegionsShapes test with/without shapes. The test is skipped by default. |
| |
| * Layout/Shapes/RegionsShapesNoShapes.html: Added. |
| * Layout/Shapes/resources/RegionsShapesContentNoShapes.html: Added. |
| |
| 2014-04-09 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add no regions version of RegionsShapes performance test |
| https://bugs.webkit.org/show_bug.cgi?id=131442 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We would like have a no regions version for RegionsShapes performance test. The new |
| test produces similar layout to RegionsShapes.html without using regions. It is helpful |
| for us to do further comparisons when necessary. This test is skipped by default. |
| |
| * Layout/Shapes/RegionsShapesNoRegions.html: Added. |
| * Layout/Shapes/resources/RegionsShapes.css: Added. |
| (html, body): |
| (.shape): |
| (#circleShape): |
| (#imageShape): |
| (#insetShape): |
| (#roundedInsetShape): |
| (#triangleLeft): |
| (#triangleRight): |
| (#selfIntersectingStar): |
| (#region1): |
| (#region2): |
| (#region3): |
| * Layout/Shapes/resources/RegionsShapesContent.html: |
| * Layout/Shapes/resources/RegionsShapesContentNoRegionsWidth400.html: Added. |
| * Layout/Shapes/resources/RegionsShapesContentNoRegionsWidth600.html: Added. |
| * Layout/Shapes/resources/RegionsShapesContentNoRegionsWidth800.html: Added. |
| |
| 2014-04-02 Geoffrey Garen <ggaren@apple.com> |
| |
| Unreviewed. |
| |
| Try to ignore some Xcode shmutz in MallocBench. |
| |
| * MallocBench/MallocBench.xcodeproj: Added property svn:ignore. |
| |
| 2014-04-02 Geoffrey Garen <ggaren@apple.com> |
| |
| Let's benchmark malloc |
| https://bugs.webkit.org/show_bug.cgi?id=131118 |
| |
| Reviewed by Mark Hahnenberg. |
| |
| I want to replace fastMalloc with something faster (fasterMalloc?). |
| I wrote these benchmarks to test / drive development. |
| |
| * MallocBench: Added. |
| * MallocBench/MallocBench: Added. |
| * MallocBench/MallocBench.xcodeproj: Added. |
| * MallocBench/MallocBench.xcodeproj/project.pbxproj: Added. |
| * MallocBench/MallocBench/Benchmark.cpp: Added. |
| (allocateHeap): |
| (deallocateHeap): |
| (Benchmark::Benchmark): |
| (Benchmark::printBenchmarks): |
| (Benchmark::runOnce): |
| (Benchmark::run): |
| (Benchmark::printReport): |
| (Benchmark::currentTimeMS): |
| (Benchmark::currentMemoryBytes): |
| * MallocBench/MallocBench/Benchmark.h: Added. |
| (Benchmark::Memory::Memory): |
| (Benchmark::Memory::operator-): |
| (Benchmark::isValid): |
| * MallocBench/MallocBench/CPUCount.cpp: Added. |
| (cpuCount): |
| * MallocBench/MallocBench/CPUCount.h: Added. |
| * MallocBench/MallocBench/CommandLine.cpp: Added. |
| (CommandLine::printUsage): |
| * MallocBench/MallocBench/CommandLine.h: Added. |
| (CommandLine::isValid): |
| (CommandLine::benchmarkName): |
| (CommandLine::isParallel): |
| (CommandLine::heapSize): |
| (CommandLine::measureHeap): |
| * MallocBench/MallocBench/Interpreter.cpp: Added. |
| (Interpreter::Interpreter): |
| (Interpreter::~Interpreter): |
| (Interpreter::run): |
| * MallocBench/MallocBench/Interpreter.h: Added. |
| * MallocBench/MallocBench/balloon.cpp: Added. |
| (benchmark_balloon): |
| * MallocBench/MallocBench/balloon.h: Added. |
| * MallocBench/MallocBench/big.cpp: Added. |
| (benchmark_big): |
| * MallocBench/MallocBench/big.h: Added. |
| * MallocBench/MallocBench/churn.cpp: Added. |
| (HeapDouble::operator new): |
| (HeapDouble::operator delete): |
| (HeapDouble::HeapDouble): |
| (HeapDouble::operator+=): |
| (benchmark_churn): |
| * MallocBench/MallocBench/churn.h: Added. |
| * MallocBench/MallocBench/crash.ops: Added. |
| * MallocBench/MallocBench/facebook.cpp: Added. |
| (benchmark_facebook): |
| * MallocBench/MallocBench/facebook.h: Added. |
| * MallocBench/MallocBench/facebook.ops: Added. |
| * MallocBench/MallocBench/fragment.cpp: Added. |
| (validate): |
| (benchmark_fragment): |
| (benchmark_fragment_iterate): |
| * MallocBench/MallocBench/fragment.h: Added. |
| * MallocBench/MallocBench/list.cpp: Added. |
| (benchmark_list_allocate): |
| (benchmark_list_traverse): |
| * MallocBench/MallocBench/list.h: Added. |
| * MallocBench/MallocBench/main.cpp: Added. |
| (main): |
| * MallocBench/MallocBench/mbmalloc.cpp: Added. |
| * MallocBench/MallocBench/mbmalloc.h: Added. |
| * MallocBench/MallocBench/medium.cpp: Added. |
| (benchmark_medium): |
| * MallocBench/MallocBench/medium.h: Added. |
| * MallocBench/MallocBench/message.cpp: Added. |
| (benchmark_message_one): |
| (benchmark_message_many): |
| * MallocBench/MallocBench/message.h: Added. |
| * MallocBench/MallocBench/realloc.cpp: Added. |
| (benchmark_realloc): |
| * MallocBench/MallocBench/realloc.h: Added. |
| * MallocBench/MallocBench/tree.cpp: Added. |
| (benchmark_tree_allocate): |
| (benchmark_tree_traverse): |
| (benchmark_tree_churn): |
| * MallocBench/MallocBench/tree.h: Added. |
| * MallocBench/run-malloc-benchmarks: Added. |
| |
| 2014-03-29 Mark Lam <mark.lam@apple.com> |
| |
| LongSpider 3d-morph result check is inappropriate. |
| <https://webkit.org/b/130928> |
| |
| Reviewed by Filip Pizlo. |
| |
| The LongSpider 3d-morph component expected result check is incorrect. |
| The existing test checks if the leading digit of a sum starts with "-1". |
| However, it turned out that the expected sum is in the order of |
| -1.8735013540549517e-16 (i.e. very close to 0). With small errors in |
| the terms of the sum adding up, it is very easy for the resultant sum |
| to fluctuate. There is no guarantee that the resultant sum's most |
| significant digit will start with -1 either. |
| |
| The fix is to do a tolerance check on all the terms of the sum as well |
| as the total sum value instead. The tolerance should be more lenient |
| for the sum which accumulates error from the individual terms, then for |
| individual terms. |
| |
| * LongSpider/3d-morph.js: |
| (expect): |
| |
| 2014-03-28 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add performance tests for Shapes with Regions |
| https://bugs.webkit.org/show_bug.cgi?id=129624 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This tests introduces a real-life like page, which contains different types of shapes within |
| shape-outsides. The content flows through regions, which use media queries. The performance test |
| loads the actual Shapes-Regions test case into iframes with different page sizes (thus the layout |
| triggers the media queries as well), and measures its load time. |
| |
| * Layout/RegionsShapes.html: Added. |
| * Layout/Shapes/resources/RegionsShapesContent.html: Added. |
| |
| 2014-03-20 Zoltan Horvath <zoltan@webkit.org> |
| |
| Add option for hiding Confidence Interval Delta on the performance tests results page |
| https://bugs.webkit.org/show_bug.cgi?id=130483 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| I've found it useful to hide the confidence interval delta from the results table |
| sometimes, for example on copying data, or for a clearer look. This patch introduces |
| a new button for it on the local results page. |
| |
| * resources/results-template.html: |
| |
| 2014-03-20 Laszlo Vidacs <lvidacs.u-szeged@partner.samsung.com> |
| |
| Optimize RenderTable::colToEffCol() for tables without colspans |
| https://bugs.webkit.org/show_bug.cgi?id=129298 |
| |
| Reviewed by Simon Fraser. |
| |
| Create an alternative fast path to RenderTable colToEffCol() and effColToCol() |
| when there is no colspan or colspan does not exceed the width of table. |
| Blink merge https://codereview.chromium.org/154243002 by rhogan |
| |
| * Layout/large-table-with-collapsed-borders-and-colspans-wider-than-table.html: Added. |
| * Layout/large-table-with-collapsed-borders-and-colspans.html: Added. |
| * Layout/large-table-with-collapsed-borders-and-no-colspans.html: Added. |
| * Layout/resources/large-table-with-collapsed-borders.css: Added. |
| * Layout/resources/large-table-with-collapsed-borders.js: Added. |
| |
| 2014-03-14 Maciej Stachowiak <mjs@apple.com> |
| |
| Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers |
| https://bugs.webkit.org/show_bug.cgi?id=130276 |
| <rdar://problem/16266927> |
| |
| Reviewed by Simon Fraser. |
| |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-3d-raytrace.html: |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-bitwise-and.html: |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-math-cordic.html: |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-string-tagcloud.html: |
| * LongSpider/3d-morph.js: |
| * LongSpider/3d-raytrace.js: |
| * LongSpider/math-cordic.js: |
| * LongSpider/string-tagcloud.js: |
| * Parser/resources/html5-8266.html: |
| * Parser/resources/html5.html: |
| |
| 2014-03-10 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add performance tests for SVG shape with shape-margin |
| https://bugs.webkit.org/show_bug.cgi?id=129930 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| The test is skipped by default. |
| |
| * Layout/Shapes/ShapeOutsideSVGWithMargin.html: Added. |
| * Layout/Shapes/resources/shape.svg: Added. |
| |
| 2014-02-19 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add performance test for stacked floats with shape-outsides |
| https://bugs.webkit.org/show_bug.cgi?id=128821 |
| |
| Reviewed by Brent Fulgham. |
| |
| This tests generate stacked floats content with shape-outsides. |
| The test is skipped by default. |
| |
| * Layout/Shapes/ShapeOutsideStackedPolygons.html: Added. |
| |
| 2014-02-15 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add performance test for raster shape with shape-margin |
| https://bugs.webkit.org/show_bug.cgi?id=128770 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This patch introduces a new performance test for image valued shapes, |
| where shape-margin is applied on the shape. |
| The test is skipped by default. |
| |
| * Layout/Shapes/ShapeOutsideRasterWithMargin.html: Added. |
| |
| 2014-02-14 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Improve the appearance of DYEBench |
| https://bugs.webkit.org/show_bug.cgi?id=128866 |
| |
| Reviewed by Antti Koivisto. |
| |
| Add a div that shows progress during the test. Also show 95th percentile, |
| and use a table instead of pre to show results. |
| |
| * DoYouEvenBench/Full.html: |
| (.addResult): Added. Shows results in a table. |
| (benchmarkClient.willRunTest): Added to show the progress bar. |
| (benchmarkClient.didRunTest): |
| (benchmarkClient.didRunSuites): |
| (benchmarkClient.didFinishLastIteration): Compute 95th percentile using Statistics.js |
| |
| * DoYouEvenBench/resources/benchmark-runner.js: |
| (BenchmarkRunner.prototype._appendFrame): Fix the bug where marginLeft and marginTop |
| weren't correctly parsed. We were treating top as left and bottom as top somehow. |
| (BenchmarkRunner.prototype._runTestAndRecordResults): Fixed a typo. |
| |
| 2014-02-13 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add performance test for complex polygon with shape-margin |
| https://bugs.webkit.org/show_bug.cgi?id=128769 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This patch modifies the logic of createShapeOutsideTest to accept multiple |
| CSS properties from the test. The patch adds performance test for complex |
| polygon shape (self intersecting at multiple places) case, moreover we |
| apply shape-margin on the polygon also. |
| |
| * Layout/Shapes/ShapeOutsideContentBox.html: |
| * Layout/Shapes/ShapeOutsideInset.html: |
| * Layout/Shapes/ShapeOutsidePolygonWithMargin.html: Added. |
| * Layout/Shapes/ShapeOutsideRaster.html: |
| * Layout/Shapes/ShapeOutsideSimplePolygon.html: |
| * Layout/Shapes/resources/shapes.js: |
| |
| 2014-02-13 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add performance test for raster shape |
| https://bugs.webkit.org/show_bug.cgi?id=128746 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This patch adds performance testing for image valued shape-outside. |
| The test is skipped by default for now. |
| |
| * Layout/Shapes/ShapeOutsideRaster.html: Added. |
| * Layout/Shapes/resources/shape.gif: Added. |
| |
| 2014-02-10 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add initial performance tests for polygon shape |
| https://bugs.webkit.org/show_bug.cgi?id=128554 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This patch adds performance testing for simple polygon shape-outside. |
| The Shapes performance tests directory is skipped by default. |
| |
| * Layout/Shapes/ShapeOutsideSimplePolygon.html: Added. |
| |
| 2014-02-07 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add initial performance tests for inset shape |
| https://bugs.webkit.org/show_bug.cgi?id=128378 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Layout/Shapes/ShapeOutsideContentBox.html: Move js to shapes.js. |
| * Layout/Shapes/ShapeOutsideInset.html: Added. |
| * Layout/Shapes/resources/shapes.js: Added. |
| (.): |
| |
| 2014-02-04 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Undelete the "build" directory erroneously removed in r163427. |
| |
| * DoYouEvenBench/resources/todomvc/labs/architecture-examples/react/bower_components/director/build: |
| |
| 2014-02-04 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Revert the change made in r162216 as it broke the benchmark on shipping Safari. |
| |
| * DoYouEvenBench/resources/benchmark-runner.js: |
| |
| 2014-02-04 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DoYouEvenBench: Update Ember.js test case |
| https://bugs.webkit.org/show_bug.cgi?id=128227 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Updated the Ember.js TodoMVC implementation. |
| |
| * DoYouEvenBench/resources/tests.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower.json: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/ember-data/ember-data.js: Added. |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter/localstorage_adapter.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/jquery/jquery.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/index.html: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/app.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/controllers/todo_controller.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/controllers/todos_controller.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/helpers/pluralize.js: Added. |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/libs/ember-data.js: Removed. |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/models/store.js: Removed. |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/models/todo.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/router.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/views/edit_todo_view.js: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/views/todos_view.js: Added. |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/readme.md: |
| * DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/test.html: |
| |
| 2014-02-04 Zoltan Horvath <zoltan@webkit.org> |
| |
| [CSS Shapes] Add initial performance test for shape-outside: content-box |
| https://bugs.webkit.org/show_bug.cgi?id=128190 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| I've introduced Shapes subdirectory in Layout, every CSS Shapes related performance tests should |
| go there in the future. The initial performance tests uses 'shape-outside: content-box' in order |
| to tests the code paths of the Shapes implementation. I also introduced shapes.js, which allows us |
| to easily add new, simple performance tests for shape-outside. |
| |
| The entire progress is tracked under #128188 meta bug. |
| |
| * Layout/Shapes/ShapeOutsideContentBox.html: Added. |
| * Layout/Shapes/resources/shapes.css: Added. |
| * Layout/Shapes/resources/shapes.js: Added. |
| * Skipped: We skip running the tests by default for now. |
| |
| 2014-01-17 Manuel Rego Casasnovas <rego@igalia.com> |
| |
| [CSS Regions] Minor fixes in regions performance tests |
| https://bugs.webkit.org/show_bug.cgi?id=127041 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Fix minor issues in CSS Regions performance tests. |
| |
| * Layout/RegionsAuto.html: Change type to lower case. |
| * Layout/RegionsAutoMaxHeight.html: Ditto. |
| * Layout/RegionsFixed.html: Ditto. |
| * Layout/RegionsFixedShort.html: Ditto. |
| * Layout/RegionsSelection.html: Ditto. Move test methods from regions.js. |
| * Layout/resources/regions.js: Remove moved methods. |
| |
| 2014-01-17 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Host DoYouEvenBench on webkit.org |
| https://bugs.webkit.org/show_bug.cgi?id=127185 |
| |
| Reviewed by Benjamin Poulain. |
| |
| Compute the resources directory relative to the benchmark-runner's location |
| so that we can load tests even if the runner HTML was located elsewhere. |
| |
| * DoYouEvenBench/Full.html: |
| * DoYouEvenBench/resources/benchmark-runner.js: |
| (BenchmarkState._containingDirectory): |
| |
| 2014-01-17 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DoYouEvenBench: Move flightjs-example-app and todomvc into resources |
| https://bugs.webkit.org/show_bug.cgi?id=127183 |
| |
| Rubber-stamped by Anders Carlsson. |
| |
| * DoYouEvenBench/InteractiveRunner.html: Copied from PerformanceTests/DoYouEvenBench/benchmark.html. |
| * DoYouEvenBench/benchmark.html: Removed. |
| * DoYouEvenBench/flightjs-example-app: Removed. |
| * DoYouEvenBench/flightjs-example-app/LICENSE.md: Removed. |
| * DoYouEvenBench/flightjs-example-app/README.md: Removed. |
| * DoYouEvenBench/flightjs-example-app/app: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/boot: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/boot/page.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_data: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_data/compose_box.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_data/mail_items.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_data/move_to.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_ui: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_ui/compose_box.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_ui/folders.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_ui/mail_controls.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_ui/mail_items.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_ui/move_to_selector.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/component_ui/with_select.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/css: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/css/custom.css: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/data.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/app/templates.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/css: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.css: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.min.css: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap.css: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap.min.css: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/img: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/img/glyphicons-halflings-white.png: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/img/glyphicons-halflings.png: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/js/bootstrap.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/bootstrap/js/bootstrap.min.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/.gitignore: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/CHANGES: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/CONTRIBUTORS.md: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/LICENSE: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/README.md: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/component.json: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-sham.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-sham.min.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-shim.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-shim.min.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/package.json: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h-kill.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h-matchers.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/index.html: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine-html.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine.css: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine_favicon.png: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/json2.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-array.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-date.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-function.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-object.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-string.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/.travis.yml: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib/advice.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib/component.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib/compose.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib/index.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib/logger.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib/registry.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/lib/utils.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/tools: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/tools/debug: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/flight/tools/debug/debug.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-flight: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/LICENSE.md: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/README.md: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/bower.json: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/lib: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-flight/lib/jasmine-flight.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-jquery: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-jquery/lib: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jasmine-jquery/lib/jasmine-jquery.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jquery: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jquery/component.json: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jquery/composer.json: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jquery/jquery.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/jquery/jquery.min.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/mustache: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/mustache/mustache.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/requirejs: Removed. |
| * DoYouEvenBench/flightjs-example-app/components/requirejs/require.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/index.html: Removed. |
| * DoYouEvenBench/flightjs-example-app/karma.conf.js: Removed. |
| * DoYouEvenBench/flightjs-example-app/package.json: Removed. |
| * DoYouEvenBench/flightjs-example-app/requireMain.js: Removed. |
| * DoYouEvenBench/resources/benchmark-runner.js: |
| * DoYouEvenBench/resources/flightjs-example-app: Copied from PerformanceTests/DoYouEvenBench/flightjs-example-app. |
| * DoYouEvenBench/resources/todomvc: Copied from PerformanceTests/DoYouEvenBench/todomvc. |
| * DoYouEvenBench/todomvc: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower.json: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular-mocks: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular-mocks/angular-mocks.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular/angular.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.css: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/bg.png: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/index.html: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/app.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/controllers: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/controllers/todoCtrl.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoBlur.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoEscape.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoFocus.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/services: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/js/services/todoStorage.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/readme.md: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/config: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/config/testacular.conf.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/package.json: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/readme.md: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/directivesSpec.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/todoCtrlSpec.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower.json: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage/backbone.localStorage.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone/backbone.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/jquery: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/jquery/jquery.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.css: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/bg.png: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/underscore: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/underscore/underscore.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/index.html: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/app.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/collections: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/collections/todos.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/models: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/models/todo.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/routers: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/routers/router.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/views: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/app-view.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/todo-view.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/backbone/readme.md: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower.json: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter/localstorage_adapter.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/handlebars: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/jquery: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/jquery/jquery.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/bg.png: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/index.html: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/app.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todo_controller.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todos_controller.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/libs: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/libs/ember-data.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/store.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/todo.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/router.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/views: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/js/views/edit_todo_view.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/readme.md: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/emberjs/test.html: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower.json: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/handlebars: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/handlebars/handlebars.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/jquery: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/jquery/jquery.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.css: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/bg.png: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/css: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/css/app.css: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/index.html: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/js/app.js: Removed. |
| * DoYouEvenBench/todomvc/architecture-examples/jquery/readme.md: Removed. |
| * DoYouEvenBench/todomvc/labs: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower.json: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/LICENSE: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/README.md: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/director.js: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/director.min.js: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/ender.js: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/JSXTransformer.js: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/bower.json: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/react.js: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/react.min.js: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.css: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.js: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/bg.png: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/index.html: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/js: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/app.jsx: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/footer.jsx: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/todoItem.jsx: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/js/utils.jsx: Removed. |
| * DoYouEvenBench/todomvc/labs/architecture-examples/react/readme.md: Removed. |
| * DoYouEvenBench/todomvc/license.md: Removed. |
| * DoYouEvenBench/todomvc/readme.md: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower.json: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.css: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.js: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/bg.png: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/index.html: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/app.js: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/controller.js: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/helpers.js: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/model.js: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/store.js: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/view.js: Removed. |
| * DoYouEvenBench/todomvc/vanilla-examples/vanillajs/readme.md: Removed. |
| * Skipped: |
| |
| 2014-01-17 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Build fix. Skip HTML files that are not tests. |
| |
| * Skipped: |
| |
| 2014-01-16 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Automate DoYouEvenBench |
| https://bugs.webkit.org/show_bug.cgi?id=124497 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Enable DoYouEvenBench/Full.html on perf bots by default. |
| |
| Put a space between the time and ms, and fixed a typo in runner.js so that the aggregator name will be reported. |
| |
| * DoYouEvenBench/Full.html: |
| * Skipped: |
| * resources/runner.js: |
| |
| 2014-01-15 Manuel Rego Casasnovas <rego@igalia.com> |
| |
| [CSS Regions] Add performance tests for selection with mixed content |
| https://bugs.webkit.org/show_bug.cgi?id=126427 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Add new performance tests for selection in CSS Regions mixing regular |
| content with regions. 2 new tests are added, one checking select all |
| command and another simulating a user selection passing through all the |
| paragraphs (similar to Layout/RegionsSelection.html). |
| |
| Test are skipped for now while implementation of selection in CSS |
| Regions is still evolving. |
| |
| * Layout/RegionsExtendingSelectionMixedContent.html: Added. |
| * Layout/RegionsSelectAllMixedContent.html: Added. |
| * Layout/resources/regions.css: |
| (.regular): |
| * Layout/resources/regions.js: |
| * Skipped: |
| |
| 2014-01-14 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Make DoYouEvenBench runnable by run-perf-tests |
| https://bugs.webkit.org/show_bug.cgi?id=127030 |
| |
| Reviewed by Andreas Kling. |
| |
| Added Full.html that runs 5 iterations of DoYouEvenBench. This is the canonical DoYouEvenBench, |
| which is also runnable by run-perf-tests. |
| |
| * DoYouEvenBench/Full.html: Added. |
| |
| * DoYouEvenBench/benchmark.html: |
| (startTest): Updated the code to account for the fact old measuredValues is pushed down to tests |
| property and we now have total property so that we don't have to manually compute the total. |
| |
| * DoYouEvenBench/resources/benchmark-report.js: Added. When we're inside a DRT/WTR, use |
| PerfTestRunner to output that can be parsed by run-perf-tests. Do the same when the query part |
| or the fragment part of the current URL is "webkit" for debugging purposes. |
| |
| * DoYouEvenBench/resources/benchmark-runner.js: |
| (BenchmarkRunner): |
| (BenchmarkRunner.prototype._appendFrame): Position the frame at (0, 0) inside DRT and WTR since |
| we have exactly 800px by 600px inside those two test runners. Also always insert the iframe as |
| the first child of body to avoid inserting it after the pre inserted by the test runner. |
| (BenchmarkRunner.prototype.step): Initializes _measuredValues. |
| (BenchmarkRunner.prototype.runAllSteps): Merged callNextStep in benchmark.html. |
| (BenchmarkRunner.prototype.runMultipleIterations): Added. |
| (BenchmarkRunner.prototype._runTestAndRecordResults): Compute the grand total among suites. |
| Also push down the sync and async time into tests property for consistency. |
| (BenchmarkRunner.prototype._finalize): |
| |
| * Dromaeo/resources/dromaeorunner.js: |
| (DRT.testObject): Renamed dromaeoIterationCount to customIterationCount as this option is also |
| used by DoYouEvenBench. |
| |
| * resources/runner.js: Ditto. |
| (.finish): Spit out the aggregator name. |
| |
| 2014-01-07 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DoYouEvenBench: Turn BenchmarkRunner into a real class |
| https://bugs.webkit.org/show_bug.cgi?id=126613 |
| |
| Reviewed by Stephanie Lewis. |
| |
| Made BenchmarkRunner an instantiatable class. Made tests.js simply create an array of suite objects |
| instead of calling BenchmarkRunner.Suite now that we can have mulitple instances of BenchmarkRunner. |
| |
| * DoYouEvenBench/benchmark.html: |
| (formatTestName): Moved and renamed from BenchmarkRunner._testName. |
| (createUIForSuites): Extracted from a giant blob of code. |
| (startTest): Ditto. |
| * DoYouEvenBench/resources/benchmark-runner.js: |
| (BenchmarkRunner): Added. |
| (BenchmarkRunner.prototype.waitForElement): |
| (BenchmarkRunner.prototype._removeFrame): |
| (BenchmarkRunner.prototype._appendFrame): |
| (BenchmarkRunner.prototype._waitAndWarmUp): |
| (BenchmarkRunner.prototype._runTest): |
| (BenchmarkState.prototype.prepareCurrentSuite): |
| (BenchmarkRunner.prototype.step): |
| (BenchmarkRunner.prototype._runTestAndRecordResults): |
| (BenchmarkRunner.prototype._finalize): |
| * DoYouEvenBench/resources/tests.js: |
| |
| 2014-01-07 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DoYouEvenBench: Extract tests and runner code from benchmark.js/html |
| https://bugs.webkit.org/show_bug.cgi?id=126596 |
| |
| Reviewed by Stephanie Lewis. |
| |
| Extracted benchmark-runner.js and tests.js out of benchmark.js and benchmark.html. |
| |
| Added a "client" interface to BenchmarkRunner so that benchmark.html could register necessary hooks to |
| update its UI. Also made BenchmarkRunner store a tree of results so that the serialization of test names |
| could be isolated from BenchmarkRunner itself in the future. |
| |
| * DoYouEvenBench/benchmark.html: |
| Moved the code to instantiate and update UI here from benchmark.js. The test code was moved out of this |
| file into resources/tests.js. |
| |
| * DoYouEvenBench/resources/benchmark-runner.js: Renamed from PerformanceTests/DoYouEvenBench/benchmark.js. |
| (SimplePromise): Moved from benchmark.js |
| (SimplePromise.prototype.then): Ditto. |
| (SimplePromise.prototype.resolve): Ditto. |
| (BenchmarkTestStep): Added. Wraps each test step. |
| (BenchmarkRunner.suite): Moved from benchmark.js. |
| (BenchmarkRunner.setClient): Added. |
| (BenchmarkRunner.waitForElement): Moved. |
| (BenchmarkRunner._removeFrame): Ditto. |
| (BenchmarkRunner._appendFrame): Ditto. Set the width and the height of the iframe as they're more than |
| presentational as they affect performance. |
| (BenchmarkRunner._waitAndWarmUp): Ditto. |
| (BenchmarkRunner._runTest): Ditto. |
| (BenchmarkRunner._testName): Ditto. |
| (BenchmarkState): Ditto. |
| (BenchmarkState.prototype.currentSuite): Ditto. |
| (BenchmarkState.prototype.currentTest): Ditto. |
| (BenchmarkState.prototype.next): Ditto. |
| (BenchmarkState.prototype.isFirstTest): Ditto. |
| (BenchmarkState.prototype.prepareCurrentSuite): Ditto. |
| (BenchmarkRunner.step): Ditto. |
| (BenchmarkRunner._runTestAndRecordResults): Ditto. Note the code to update the UI has been move to |
| benchmark.html. Also moved the code to accumulate the totals here from _finalize. |
| (BenchmarkRunner._finalize): Moved. |
| |
| * DoYouEvenBench/resources/tests.js: Copied from PerformanceTests/DoYouEvenBench/benchmark.html. |
| Uses BenchmarkTestStep instead of an array for each test step. |
| |
| 2014-01-02 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| 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 <commit-queue@webkit.org> |
| |
| 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 <mmaxfield@apple.com> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <rego@igalia.com> |
| |
| [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 <rniwa@webkit.org> |
| |
| Build fix after r159805. |
| |
| * resources/runner.js: |
| |
| 2013-11-26 Sergio Villar Senin <svillar@igalia.com> |
| |
| [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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <svillar@igalia.com> |
| |
| [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 <jchaffraix@chromium.org> |
| |
| 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 <svillar@igalia.com> |
| |
| [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 <jchaffraix@chromium.org>. |
| |
| 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 <rego@igalia.com> |
| |
| [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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| [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 <antti@apple.com> |
| |
| 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 <akling@apple.com> |
| |
| 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 <akling@apple.com> |
| |
| 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 <akling@apple.com> |
| |
| 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 <antti@apple.com> |
| |
| 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 <antti@apple.com> |
| |
| 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 <svillar@igalia.com> |
| |
| 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 <ojan@chromium.org> |
| |
| New performance test for layouts in flexboxes. |
| |
| * Layout/flexbox-lots-of-data.html: Added. |
| |
| 2013-10-24 Commit Queue <commit-queue@webkit.org> |
| |
| 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 <svillar@igalia.com> |
| |
| 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 <ojan@chromium.org> |
| |
| New performance test for layouts in flexboxes. |
| |
| * Layout/flexbox-lots-of-data.html: Added. |
| |
| 2013-10-06 Ryosuke Niwa <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <fpizlo@apple.com> |
| |
| 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 <stavila@adobe.com> |
| |
| [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 <zdobersek@igalia.com> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <benjamin@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <seokju.kwon@gmail.com> |
| |
| 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 <bpoulain@apple.com> |
| |
| Mass remove all the empty directories |
| |
| Rubberstamped by Ryosuke Niwa. |
| |
| * Bindings/resources: Removed. |
| |
| 2013-04-02 Glenn Adams <glenn@skynav.com> |
| |
| 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 <abucur@adobe.com> |
| |
| [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 <rniwa@webkit.org> |
| |
| 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 <alph@chromium.org> |
| |
| 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 <eric@webkit.org> |
| |
| 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 <eric@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <alph@chromium.org> |
| |
| 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 <dominik.rottsches@intel.com> |
| |
| 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 <yurys@chromium.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| Skip DOM/TraverseChildNodes.html as intended in r140070. |
| |
| * Skipped: |
| |
| 2013-01-17 Dominic Cooney <dominicc@chromium.org> |
| |
| 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 |
| <https://bugs.webkit.org/show_bug.cgi?id=107210> |
| |
| * Parser/html-parser-srcdoc.html: Added. |
| * Skipped: Big-P Parser. |
| |
| 2013-01-17 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <eric@webkit.org> |
| |
| 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 <a.renevier@sisa.samsung.com> |
| |
| 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 <dominicc@chromium.org> |
| |
| 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 <yurys@chromium.org> |
| |
| 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 <hayato@chromium.org> |
| |
| 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 <shinyak@chromium.org> |
| |
| [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 <rniwa@webkit.org> |
| |
| [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 <shinyak@chromium.org> |
| |
| [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 <shinyak@chromium.org> |
| |
| [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 <rniwa@webkit.org> |
| |
| 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 <shinyak@chromium.org> |
| |
| [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 <shinyak@chromium.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <dglazkov@chromium.org> |
| |
| 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 <shinyak@chromium.org> |
| |
| 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 <abarth@webkit.org> |
| |
| 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 <ggaren@apple.com> |
| |
| 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 <zoltan@webkit.org> |
| |
| 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 <eric@webkit.org> |
| |
| 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 <zoltan@webkit.org> |
| |
| 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 <zoltan@webkit.org> |
| |
| 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 <zoltan@webkit.org> |
| |
| 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 <zoltan@webkit.org> |
| |
| 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 <zoltan@webkit.org> |
| |
| 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 <zoltan@webkit.org> |
| |
| 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 <zoltan@webkit.org> |
| |
| 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 <zoltan@webkit.org> |
| |
| 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 <zoltan@webkit.org> |
| |
| 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 <abarth@webkit.org> |
| |
| [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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <esprehn@chromium.org> |
| |
| 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 <simonjam@chromium.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <hayato@chromium.org> |
| |
| [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 <pdr@google.com> |
| |
| 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 <jchaffraix@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <pdr@google.com> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <fmalita@chromium.org> |
| |
| Add a performance test for nested <use> 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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| Build fix after r129824. |
| |
| * DOM/resources/dom-perf.js: |
| (runBenchmarkSuite): |
| |
| 2012-09-27 Ryosuke Niwa <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| Unreviewed. Minor appearance tweaks after r129813. |
| |
| * resources/results-template.html: |
| |
| 2012-09-27 Ryosuke Niwa <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <antti@apple.com> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <webkit.review.bot@gmail.com> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <webkit.review.bot@gmail.com> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <loislo@chromium.org> |
| |
| 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 <scottmg@chromium.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| Unreviewed; fix an insanely silly typo. |
| |
| * resources/results-template.html: |
| |
| 2012-08-09 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Another build fix after r125178. |
| |
| * resources/runner.js: |
| |
| 2012-08-09 Zoltan Horvath <zoltan@webkit.org> |
| |
| 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 <zoltan@webkit.org> |
| |
| 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 <benjamin@webkit.org> |
| |
| 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 <zoltan@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <a.renevier@sisa.samsung.com> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <a.renevier@sisa.samsung.com> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <a.renevier@sisa.samsung.com> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <rniwa@webkit.org> |
| |
| 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 <morrita@google.com> |
| |
| 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 <pdr@google.com> |
| |
| 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 <janx@linux.com> |
| |
| 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 <pdr@google.com> |
| |
| 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 <loislo@chromium.org> |
| |
| 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 <haraken@chromium.org> |
| |
| 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 <pdr@google.com> |
| |
| 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 <tomz@codeaurora.org> |
| |
| 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 <loislo@chromium.org> |
| |
| 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 <alexeif@chromium.org> |
| |
| 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 <alexeif@chromium.org> |
| |
| 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 <haraken@chromium.org> |
| |
| [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 <haraken@chromium.org> |
| |
| [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 <rniwa@webkit.org> |
| |
| 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 <haraken@chromium.org> |
| |
| [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 <loislo@chromium.org> |
| |
| 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 <loislo@chromium.org> |
| |
| 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 <loislo@chromium.org> |
| |
| 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 <tkent@chromium.org> |
| |
| Add performance tests for <textarea> |
| https://bugs.webkit.org/show_bug.cgi?id=86994 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * DOM/textarea-dom.html: Added. |
| * DOM/textarea-edit.html: Added. |
| * Parser/textarea-parsing.html: Added. |
| |
| 2012-05-18 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: upstream build dominators tree procedure from v8. |
| https://bugs.webkit.org/show_bug.cgi?id=86640 |
| |
| The idea is to reduce transfer size and move all the post-processing steps to the front-end. |
| The JS implementation is ~1.5 times slower. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| Covered by existing tests and performance tests. |
| |
| * inspector/heap-snapshot.html: |
| |
| 2012-05-18 Kentaro Hara <haraken@chromium.org> |
| |
| [perf-test] Remove Bindings/dom-attributes.html |
| https://bugs.webkit.org/show_bug.cgi?id=86820 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Bindings/dom-attributes.html is just a collection of random |
| DOM attributes and methods. Now we've added more reasonable |
| micro benchmarks by classifying DOM binding call paths, we |
| can remove Bindings/dom-attributes.html. |
| |
| * Bindings/dom-attributes.html: Removed. |
| |
| 2012-05-18 Kentaro Hara <haraken@chromium.org> |
| |
| [perf-test] Add a binding benchmark for getElementById() for an undefined id |
| https://bugs.webkit.org/show_bug.cgi?id=86812 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We should remove Bindings/dom-attributes.html and instead add more |
| reasonable micro benchmarks by classifying DOM binding call paths. |
| |
| This patch adds a benchmark for document.getElementById() for an undefined id. |
| This benchmark covers 'getElementById (not in document)' in Dromaeo/dom-query.html, |
| and other Node-query methods that return a null.' |
| |
| (Note: This benchmark is slower than document.getElementById() for a defined id. |
| We will fix the performance issue soon.) |
| |
| Test results in my Linux desktop: |
| |
| RESULT Bindings: undefined-get-element-by-id= 271.945751345 runs/s |
| median= 273.122389532 runs/s, stdev= 6.78219237299 runs/s, min= 257.4002574 runs/s, max= 281.690140845 runs/s |
| |
| RESULT Bindings: undefined-get-element-by-id= 269.105872408 runs/s |
| median= 268.948655257 runs/s, stdev= 5.73707323755 runs/s, min= 257.4002574 runs/s, max= 278.128950695 runs/s |
| |
| RESULT Bindings: undefined-get-element-by-id= 269.987513372 runs/s |
| median= 272.952853598 runs/s, stdev= 5.30252336078 runs/s, min= 255.754475703 runs/s, max= 273.97260274 runs/s |
| |
| RESULT Bindings: undefined-get-element-by-id= 270.169625901 runs/s |
| median= 271.604938272 runs/s, stdev= 5.29502391906 runs/s, min= 258.064516129 runs/s, max= 278.481012658 runs/s |
| |
| RESULT Bindings: undefined-get-element-by-id= 269.054631422 runs/s |
| median= 267.966292802 runs/s, stdev= 6.27197240579 runs/s, min= 258.064516129 runs/s, max= 278.481012658 runs/s |
| |
| * Bindings/undefined-get-element-by-id.html: Added. |
| |
| 2012-05-18 Kentaro Hara <haraken@chromium.org> |
| |
| [perf-test] Add a binding benchmark for getElementsByTagName() |
| https://bugs.webkit.org/show_bug.cgi?id=86810 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We should remove Bindings/dom-attributes.html and instead add more |
| reasonable micro benchmarks by classifying DOM binding call paths. |
| |
| This patch adds a benchmark for document.getElementsByTagName(). |
| This benchmark covers 'getElementsByTagName (not in document)', |
| 'getElementsByTagName', 'getElementsByName (not in document)' |
| and 'getElementsByName' in Dromaeo/dom-query.html, and other DOM |
| methods that return a NodeList. |
| |
| Test results in my Linux desktop: |
| |
| RESULT Bindings: get-elements-by-tag-name= 364.542328875 runs/s |
| median= 366.972477064 runs/s, stdev= 5.25387955333 runs/s, min= 351.317440402 runs/s, max= 368.421052632 runs/s |
| |
| RESULT Bindings: get-elements-by-tag-name= 364.341569369 runs/s |
| median= 366.492146597 runs/s, stdev= 4.867374197 runs/s, min= 352.644836272 runs/s, max= 367.936925099 runs/s |
| |
| RESULT Bindings: get-elements-by-tag-name= 363.924242967 runs/s |
| median= 366.013071895 runs/s, stdev= 5.16768212289 runs/s, min= 351.317440402 runs/s, max= 367.936925099 runs/s |
| |
| RESULT Bindings: get-elements-by-tag-name= 365.332594438 runs/s |
| median= 367.454068241 runs/s, stdev= 6.17046918572 runs/s, min= 350.0 runs/s, max= 370.37037037 runs/s |
| |
| RESULT Bindings: get-elements-by-tag-name= 363.999514324 runs/s |
| median= 366.492146597 runs/s, stdev= 5.31235674905 runs/s, min= 350.877192982 runs/s, max= 368.421052632 runs/s |
| |
| * Bindings/get-elements-by-tag-name.html: Added. |
| |
| 2012-05-18 Kentaro Hara <haraken@chromium.org> |
| |
| [perf-test] Add 7 micro benchmarks for DOM bindings |
| https://bugs.webkit.org/show_bug.cgi?id=86816 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We should remove Bindings/dom-attributes.html and instead add more |
| reasonable micro benchmarks by classifying DOM binding call paths. |
| This patch adds seven micro benchmarks for DOM bindings. |
| |
| id-getter.html covers 'element.property' in Dromaeo/dom-attr.html, |
| 'innerHTML' in Dromaeo/dom-modify.html, and other DOM attributes that |
| return a String. |
| |
| id-setter.html covers 'element.property = value' in Dromaeo/dom-attr.html, |
| and other DOM attributes that sets a String. |
| |
| undefined-id-getter.html covers undefined DOM attributes that return an empty String. |
| |
| append-child.html covers 'appendChild' and 'removeChild' in Dromaeo/dom-modify.html. |
| |
| insert-before.html covers 'insertBefore' in Dromaeo/dom-modify.html and replaceChild(). |
| |
| create-element.html covers 'createElement', 'createTextNode' and 'cloneNode' |
| in Dromaeo/dom-modify.html, and other DOM methods that return a new Node object. |
| |
| node-list-access.html covers 'childNodes' in Dromaeo/dom-traverse.html, |
| and other DOM attributes that access NodeList. |
| |
| Test results in my Linux desktop: |
| |
| [id-getter] |
| RESULT Bindings: id-getter= 550.517821097 runs/s |
| median= 550.688360451 runs/s, stdev= 0.970723739106 runs/s, min= 548.628428928 runs/s, max= 552.070263488 runs/s |
| |
| RESULT Bindings: id-getter= 550.655839847 runs/s |
| median= 550.688360451 runs/s, stdev= 1.03312821884 runs/s, min= 549.313358302 runs/s, max= 552.070263488 runs/s |
| |
| RESULT Bindings: id-getter= 550.277753355 runs/s |
| median= 550.344180225 runs/s, stdev= 1.19960683464 runs/s, min= 547.945205479 runs/s, max= 552.070263488 runs/s |
| |
| RESULT Bindings: id-getter= 550.072271009 runs/s |
| median= 550.344180225 runs/s, stdev= 1.38925152131 runs/s, min= 547.263681592 runs/s, max= 552.070263488 runs/s |
| |
| RESULT Bindings: id-getter= 548.802050235 runs/s |
| median= 548.628428928 runs/s, stdev= 1.18244513683 runs/s, min= 545.905707196 runs/s, max= 550.688360451 runs/s |
| |
| [id-setter] |
| RESULT Bindings: id-setter= 211.370591663 runs/s |
| median= 210.803689065 runs/s, stdev= 1.4555795889 runs/s, min= 209.973753281 runs/s, max= 214.285714286 runs/s |
| |
| RESULT Bindings: id-setter= 215.439081352 runs/s |
| median= 214.797136038 runs/s, stdev= 1.50920388121 runs/s, min= 213.049267643 runs/s, max= 218.446601942 runs/s |
| |
| RESULT Bindings: id-setter= 216.721698466 runs/s |
| median= 215.956886352 runs/s, stdev= 1.54090749644 runs/s, min= 214.285714286 runs/s, max= 219.78021978 runs/s |
| |
| RESULT Bindings: id-setter= 216.343019087 runs/s |
| median= 215.827338129 runs/s, stdev= 1.46619894553 runs/s, min= 215.053763441 runs/s, max= 218.97810219 runs/s |
| |
| RESULT Bindings: id-setter= 216.799288017 runs/s |
| median= 215.956886352 runs/s, stdev= 1.49100776978 runs/s, min= 215.311004785 runs/s, max= 219.78021978 runs/s |
| |
| [undefined-id-getter] |
| RESULT Bindings: undefined-id-getter= 494.104255241 runs/s |
| median= 494.132368875 runs/s, stdev= 1.13092821109 runs/s, min= 490.797546012 runs/s, max= 495.662949195 runs/s |
| |
| RESULT Bindings: undefined-id-getter= 493.921802916 runs/s |
| median= 493.827160494 runs/s, stdev= 1.25097443119 runs/s, min= 490.196078431 runs/s, max= 495.662949195 runs/s |
| |
| RESULT Bindings: undefined-id-getter= 491.976485667 runs/s |
| median= 492.004920049 runs/s, stdev= 0.947090576896 runs/s, min= 490.196078431 runs/s, max= 493.827160494 runs/s |
| |
| RESULT Bindings: undefined-id-getter= 491.987710185 runs/s |
| median= 494.132368875 runs/s, stdev= 8.66602543327 runs/s, min= 454.545454545 runs/s, max= 495.662949195 runs/s |
| |
| RESULT Bindings: undefined-id-getter= 494.195515847 runs/s |
| median= 494.437577256 runs/s, stdev= 1.06135681702 runs/s, min= 490.797546012 runs/s, max= 495.662949195 runs/s |
| |
| [append-child] |
| RESULT Bindings: append-child= 260.628237026 runs/s |
| median= 260.926399352 runs/s, stdev= 2.55231060598 runs/s, min= 256.739409499 runs/s, max= 265.604249668 runs/s |
| |
| RESULT Bindings: append-child= 280.796193436 runs/s |
| median= 280.791435348 runs/s, stdev= 2.53961321867 runs/s, min= 277.427490542 runs/s, max= 286.085825748 runs/s |
| |
| RESULT Bindings: append-child= 279.856209714 runs/s |
| median= 280.25477707 runs/s, stdev= 2.85447647301 runs/s, min= 275.344180225 runs/s, max= 284.237726098 runs/s |
| |
| RESULT Bindings: append-child= 280.834502714 runs/s |
| median= 280.25477707 runs/s, stdev= 2.67738046429 runs/s, min= 277.427490542 runs/s, max= 287.206266319 runs/s |
| |
| RESULT Bindings: append-child= 274.723872106 runs/s |
| median= 273.291925466 runs/s, stdev= 3.03671746706 runs/s, min= 272.614622057 runs/s, max= 282.413350449 runs/s |
| |
| [insert-before] |
| RESULT Bindings: insert-before= 180.986913006 runs/s |
| median= 180.878552972 runs/s, stdev= 0.758038687299 runs/s, min= 180.18018018 runs/s, max= 183.968462549 runs/s |
| |
| RESULT Bindings: insert-before= 186.339916144 runs/s |
| median= 186.170212766 runs/s, stdev= 0.869022097127 runs/s, min= 185.676392573 runs/s, max= 189.798339265 runs/s |
| |
| RESULT Bindings: insert-before= 189.45344838 runs/s |
| median= 189.349112426 runs/s, stdev= 0.811854866567 runs/s, min= 187.79342723 runs/s, max= 192.539109507 runs/s |
| |
| RESULT Bindings: insert-before= 189.363295991 runs/s |
| median= 189.349112426 runs/s, stdev= 0.75387713097 runs/s, min= 188.014101058 runs/s, max= 192.076830732 runs/s |
| |
| RESULT Bindings: insert-before= 189.252041642 runs/s |
| median= 189.349112426 runs/s, stdev= 0.840447225363 runs/s, min= 187.573270809 runs/s, max= 192.076830732 runs/s |
| |
| [create-element] |
| RESULT Bindings: create-element= 280.675830077 runs/s |
| median= 280.701824914 runs/s, stdev= 0.788606343054 runs/s, min= 279.441117764 runs/s, max= 282.542885974 runs/s |
| |
| RESULT Bindings: create-element= 276.427631436 runs/s |
| median= 277.227722772 runs/s, stdev= 3.39874667549 runs/s, min= 262.417994377 runs/s, max= 279.162512463 runs/s |
| |
| RESULT Bindings: create-element= 277.156894411 runs/s |
| median= 277.227722772 runs/s, stdev= 1.13255119226 runs/s, min= 274.914089347 runs/s, max= 278.884462151 runs/s |
| |
| RESULT Bindings: create-element= 278.066825356 runs/s |
| median= 278.191822254 runs/s, stdev= 0.686497782792 runs/s, min= 276.953511375 runs/s, max= 279.162512463 runs/s |
| |
| RESULT Bindings: create-element= 276.431538109 runs/s |
| median= 276.406712734 runs/s, stdev= 0.759593662298 runs/s, min= 275.229357798 runs/s, max= 278.053624628 runs/s |
| |
| [node-list-access] |
| RESULT Bindings: node-list-access= 222.747504073 runs/s |
| median= 222.772277228 runs/s, stdev= 0.789027527555 runs/s, min= 221.674876847 runs/s, max= 224.159402242 runs/s |
| |
| RESULT Bindings: node-list-access= 220.722448287 runs/s |
| median= 221.266217576 runs/s, stdev= 1.65463497875 runs/s, min= 217.391304348 runs/s, max= 222.222222222 runs/s |
| |
| RESULT Bindings: node-list-access= 222.195870443 runs/s |
| median= 222.222222222 runs/s, stdev= 0.489709262091 runs/s, min= 221.13022113 runs/s, max= 223.048327138 runs/s |
| |
| RESULT Bindings: node-list-access= 221.431121677 runs/s |
| median= 221.538545435 runs/s, stdev= 0.608292116087 runs/s, min= 220.048899756 runs/s, max= 222.772277228 runs/s |
| |
| RESULT Bindings: node-list-access= 219.001367135 runs/s |
| median= 221.538545435 runs/s, stdev= 4.65773933007 runs/s, min= 209.973753281 runs/s, max= 222.496909765 runs/s |
| |
| * Bindings/append-child.html: Added. |
| * Bindings/create-element.html: Added. |
| * Bindings/id-getter.html: Added. |
| * Bindings/id-setter.html: Added. |
| * Bindings/insert-before.html: Added. |
| * Bindings/node-list-access.html: Added. |
| * Bindings/undefined-id-getter.html: Added. |
| |
| 2012-05-18 Kentaro Hara <haraken@chromium.org> |
| |
| [perf-test] Add a binding benchmark for div.setAttribute() |
| https://bugs.webkit.org/show_bug.cgi?id=86815 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We should remove Bindings/dom-attributes.html and instead add more |
| reasonable micro benchmarks by classifying DOM binding call paths. |
| |
| This patch adds a benchmark for div.setAttribute(). This benchmark |
| covers 'setAttribute' in Dromaeo/dom-attr.html and other DOM methods |
| that return an undefined. |
| |
| Test results in my Linux desktop: |
| |
| RESULT Bindings: set-attribute= 793.745073252 runs/s |
| median= 791.589665765 runs/s, stdev= 6.00467159709 runs/s, min= 785.27607362 runs/s, max= 808.080808081 runs/s |
| |
| RESULT Bindings: set-attribute= 790.858444164 runs/s |
| median= 787.918921436 runs/s, stdev= 7.86264953655 runs/s, min= 780.234070221 runs/s, max= 806.04534005 runs/s |
| |
| RESULT Bindings: set-attribute= 787.277571417 runs/s |
| median= 784.31372549 runs/s, stdev= 7.45363346657 runs/s, min= 778.588807786 runs/s, max= 804.020100503 runs/s |
| |
| RESULT Bindings: set-attribute= 782.401393791 runs/s |
| median= 779.062978802 runs/s, stdev= 6.48250081621 runs/s, min= 777.642770352 runs/s, max= 796.019900498 runs/s |
| |
| RESULT Bindings: set-attribute= 791.792516608 runs/s |
| median= 791.556728232 runs/s, stdev= 6.49182980397 runs/s, min= 779.220779221 runs/s, max= 808.080808081 runs/s |
| |
| * Bindings/set-attribute.html: Added. |
| |
| 2012-05-17 Kentaro Hara <haraken@chromium.org> |
| |
| [perf-test] Add a binding benchmark for div.getAttribute() |
| https://bugs.webkit.org/show_bug.cgi?id=86814 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We should remove Bindings/dom-attributes.html and instead add more |
| reasonable micro benchmarks by classifying DOM binding call paths. |
| |
| This patch adds a benchmark for div.getAttribute(). This benchmark |
| covers 'getAttribute' in Dromaeo/dom-attr.html, and other DOM methods |
| that return a String. |
| |
| Test results in my Linux desktop: |
| |
| RESULT Bindings: get-attribute= 250.088158538 runs/s |
| median= 250.469728765 runs/s, stdev= 4.66551901315 runs/s, min= 240.673886883 runs/s, max= 256.739409499 runs/s |
| |
| RESULT Bindings: get-attribute= 250.209764698 runs/s |
| median= 250.626959986 runs/s, stdev= 4.12030002477 runs/s, min= 241.254523522 runs/s, max= 255.102040816 runs/s |
| |
| RESULT Bindings: get-attribute= 248.907532887 runs/s |
| median= 250.312891114 runs/s, stdev= 3.23173125874 runs/s, min= 240.673886883 runs/s, max= 251.572327044 runs/s |
| |
| RESULT Bindings: get-attribute= 250.243680844 runs/s |
| median= 250.783797637 runs/s, stdev= 4.19327170024 runs/s, min= 240.963855422 runs/s, max= 255.102040816 runs/s |
| |
| RESULT Bindings: get-attribute= 245.329046608 runs/s |
| median= 244.948040416 runs/s, stdev= 2.24314248534 runs/s, min= 240.384615385 runs/s, max= 248.756218905 runs/s |
| |
| * Bindings/get-attribute.html: Added. |
| |
| 2012-05-17 Kentaro Hara <haraken@chromium.org> |
| |
| [perf-test] Add a binding benchmark for getElementById() |
| https://bugs.webkit.org/show_bug.cgi?id=86808 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Currently Bindings/dom-attributes.html is just a collection |
| of random DOM attributes and methods. We should remove it and |
| instead add more reasonable micro benchmarks by classifying |
| DOM binding call paths. |
| |
| This patch adds a benchmark for document.getElementById(), |
| which covers other DOM methods that return a Node Object. |
| |
| The reason why we want to add a benchmark for document.getElementById() |
| in spite of the fact that Dromaeo/dom-query.html is already testing |
| document.getElementById(), is that Dromaeo/dom-query.html outputs one |
| result for several benchmarks (i.e. getElementById().nodeType, |
| getElementsByTagName()[0].nodeType etc), and thus we cannot observe |
| regression of getElementById() itself. (Catching regression of |
| getElementById() would be critical.) |
| |
| Test results in my Linux desktop: |
| |
| RESULT Bindings: get-element-by-id= 300.933707795 runs/s |
| median= 302.267002519 runs/s, stdev= 3.04954648504 runs/s, min= 295.930949445 runs/s, max= 305.34351145 runs/s |
| |
| RESULT Bindings: get-element-by-id= 302.030324483 runs/s |
| median= 302.267481977 runs/s, stdev= 1.78518068367 runs/s, min= 298.507462687 runs/s, max= 304.568527919 runs/s |
| |
| RESULT Bindings: get-element-by-id= 301.993483538 runs/s |
| median= 302.648171501 runs/s, stdev= 1.87604126626 runs/s, min= 296.662546354 runs/s, max= 304.568527919 runs/s |
| |
| RESULT Bindings: get-element-by-id= 301.936607982 runs/s |
| median= 302.45758701 runs/s, stdev= 1.88991087072 runs/s, min= 298.879202989 runs/s, max= 304.955527319 runs/s |
| |
| RESULT Bindings: get-element-by-id= 301.952234563 runs/s |
| median= 302.648171501 runs/s, stdev= 1.59929752614 runs/s, min= 299.625468165 runs/s, max= 304.568527919 runs/s |
| |
| * Bindings/get-element-by-id.html: Added. |
| |
| 2012-05-17 Kentaro Hara <haraken@chromium.org> |
| |
| [perf-test] Add a benchmark for body.scrollTop |
| https://bugs.webkit.org/show_bug.cgi?id=86806 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Currently Bindings/dom-attributes.html is just a collection of random |
| DOM attributes and methods. We should remove it and instead add more |
| reasonable micro benchmarks by classifying DOM binding call paths. |
| |
| This patch adds a benchmark for body.scrollTop, which covers other |
| DOM attributes that return small integers. |
| |
| (Note: Performance optimization for the benchmark will be coming soon.) |
| |
| Test results in my Linux desktop: |
| |
| RESULT Bindings: scroll-top= 209.410654239 runs/s |
| median= 211.64021164 runs/s, stdev= 4.09958741195 runs/s, min= 201.005025126 runs/s, max= 212.483399734 runs/s |
| |
| RESULT Bindings: scroll-top= 195.651111157 runs/s |
| median= 196.319018405 runs/s, stdev= 1.77011627406 runs/s, min= 191.846522782 runs/s, max= 197.28729963 runs/s |
| RESULT Bindings: scroll-top= 200.004907612 runs/s |
| median= 201.511335013 runs/s, stdev= 3.27455403827 runs/s, min= 193.236714976 runs/s, max= 202.53164557 runs/s |
| |
| RESULT Bindings: scroll-top= 209.582737512 runs/s |
| median= 210.803689065 runs/s, stdev= 3.16769655464 runs/s, min= 203.045685279 runs/s, max= 211.920529801 runs/s |
| |
| RESULT Bindings: scroll-top= 199.924607687 runs/s |
| median= 201.13144338 runs/s, stdev= 3.11080503619 runs/s, min= 193.003618818 runs/s, max= 202.02020202 runs/s |
| |
| * Bindings/scroll-top.html: Added. |
| |
| 2012-05-17 Kentaro Hara <haraken@chromium.org> |
| |
| [perf-test] Add a micro benchmark for div.firstChild getter for an undefined firstChild |
| https://bugs.webkit.org/show_bug.cgi?id=86725 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We are going to remove Bindings/dom-attributes.html and instead add more |
| reasonable micro benchmarks by classifying DOM binding call paths. |
| |
| In this bug, we add a micro benchmark for div.firstChild getter for an |
| undefined firstChild. This benchmark covers other undefined DOM attributes |
| that return a null. |
| |
| (Note: In V8, div.firstChild for an undefined firstChild is currently slower |
| than div.firstChild for a defined firstChild.) |
| |
| Test results in my Linux desktop: |
| |
| RESULT Bindings: undefined-first-child= 541.408311042 runs/s |
| median= 541.205412054 runs/s, stdev= 1.29841219187 runs/s, min= 537.897310513 runs/s, max= 543.209876543 runs/s |
| |
| RESULT Bindings: undefined-first-child= 541.00750695 runs/s |
| median= 540.540540541 runs/s, stdev= 0.967521230965 runs/s, min= 539.215686275 runs/s, max= 543.209876543 runs/s |
| |
| RESULT Bindings: undefined-first-child= 523.630714897 runs/s |
| median= 523.560209424 runs/s, stdev= 1.01570919645 runs/s, min= 522.193211488 runs/s, max= 525.624178712 runs/s |
| |
| RESULT Bindings: undefined-first-child= 553.077663588 runs/s |
| median= 553.459119497 runs/s, stdev= 0.805697397863 runs/s, min= 551.378446115 runs/s, max= 554.156171285 runs/s |
| |
| RESULT Bindings: undefined-first-child= 541.5401432 runs/s |
| median= 541.538666618 runs/s, stdev= 0.954301364767 runs/s, min= 539.877300613 runs/s, max= 543.209876543 runs/s |
| |
| * Bindings/undefined-first-child.html: Added. |
| |
| 2012-05-17 Kentaro Hara <haraken@chromium.org> |
| |
| [Performance test] Add a micro benchmark for div.firstChild getter |
| https://bugs.webkit.org/show_bug.cgi?id=86582 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We are going to remove Bindings/dom-attributes.html and instead add more |
| reasonable micro benchmarks by classifying DOM binding call paths. |
| |
| In this bug, we add a micro benchmark for div.firstChild getter. |
| This benchmark covers 'firstChild', 'lastChild', 'nextSibling' and |
| 'previousSibling' in Dromaeo/dom-traverse.html, and other DOM attributes |
| that return a Node object. |
| |
| Multiple test results in my Linux desktop: |
| |
| RESULT Bindings: first-child= 798.157160346 runs/s |
| median= 798.004987531 runs/s, stdev= 1.52006063407 runs/s, min= 796.019900498 runs/s, max= 801.001251564 runs/s |
| RESULT Bindings: first-child= 797.603608554 runs/s |
| median= 797.872340426 runs/s, stdev= 2.2522621261 runs/s, min= 791.556728232 runs/s, max= 801.001251564 runs/s |
| RESULT Bindings: first-child= 798.656295468 runs/s |
| median= 798.004987531 runs/s, stdev= 1.79367478063 runs/s, min= 797.01120797 runs/s, max= 803.011292346 runs/s |
| RESULT Bindings: first-child= 797.812784267 runs/s |
| median= 798.004987531 runs/s, stdev= 2.31766523191 runs/s, min= 791.100123609 runs/s, max= 802.005012531 runs/s |
| RESULT Bindings: first-child= 797.963311597 runs/s |
| median= 798.004987531 runs/s, stdev= 2.53014907337 runs/s, min= 789.14919852 runs/s, max= 801.001251564 runs/s |
| |
| * Bindings/first-child.html: Added. |
| |
| 2012-05-16 Kentaro Hara <haraken@chromium.org> |
| |
| [Performance test] Support "description" for PerfTestRunner.run and PerfTestRunner.runPerSecond |
| https://bugs.webkit.org/show_bug.cgi?id=86696 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| We want to add some description for each PerfTestRunner.run and |
| PerfTestRunner.runPerSecond, so that people can know what each |
| run is testing. |
| |
| Output example: |
| |
| $ ./Tools/Scripts/run-perf-tests Bindings/first-child.html |
| Running Bindings/first-child.html (1 of 1) |
| DESCRIPTION: Benchmark for DOM attributes that return a Node object. |
| RESULT Bindings: first-child= 788.359076534 runs/s |
| median= 797.508097751 runs/s, stdev= 19.0972905207 runs/s, min= 746.666666667 runs/s, max= 801.001251564 runs/s |
| |
| * resources/runner.js: |
| (PerfTestRunner.logStatistics): |
| (PerfTestRunner.printStatistics): |
| (PerfTestRunner.runPerSecond): |
| |
| 2012-05-16 Yury Semikhatsky <yurys@chromium.org> |
| |
| Unreviewed. Fix heap profiler performance test after r117234. |
| |
| * inspector/heap-snapshot.html: |
| |
| 2012-05-14 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Convert CSS and Parser tests to runs/s tests |
| https://bugs.webkit.org/show_bug.cgi?id=86399 |
| |
| Reviewed by Ojan Vafai. |
| |
| Use runPerSecond instead of run to measure results in function calls per second (run/s) instead of time (ms). |
| This allows us to continue measuring performance reliably even when WebKit's performance improves and results |
| become too small for Date.now()'s precision (around 15 ms). |
| |
| It should also reduce perf. bots cycle time for slower tests because we limit the number of function calls by time. |
| |
| * CSS/CSSPropertySetterGetter.html: |
| * CSS/CSSPropertyUpdateValue.html: |
| * Parser/css-parser-yui.html: |
| * Parser/simple-url.html: |
| * Parser/tiny-innerHTML.html: |
| * Parser/url-parser.html: |
| * Parser/xml-parser.html: |
| |
| 2012-05-14 Dan Bernstein <mitz@apple.com> |
| |
| Add a line layout performance test |
| https://bugs.webkit.org/show_bug.cgi?id=86216 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * Layout/line-layout.html: Added. |
| |
| 2012-05-14 Tony Chang <tony@chromium.org> |
| |
| Don't append log lines while perf tests are running. |
| https://bugs.webkit.org/show_bug.cgi?id=86028 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| In some tests, the extra DOM nodes can cause the test timing to change. |
| Avoid adding DOM nodes until the test is over. When running in a browser, |
| we append nodes as we run so the user can have some feedback. |
| |
| * resources/runner.js: |
| (PerfTestRunner.log): Store the log lines in an array until the test is finished. |
| |
| 2012-05-14 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Build fix. Don't adjust calls per iteration in the second run. |
| |
| * resources/runner.js: |
| (PerfTestRunner._perSecondRunner): |
| |
| 2012-05-13 Ryosuke Niwa <rniwa@webkit.org> |
| |
| performance tests should be able to measure runs/sec rather than time |
| https://bugs.webkit.org/show_bug.cgi?id=86021 |
| |
| Reviewed by Ojan Vafai. |
| |
| Add PerfTestRunner.runPerSecond. It uses _runLoop but replaces _runner by _perSecondRunner |
| to compute runs/s of runFunction. |
| |
| When _perSecondRunner is called for the first time, i.e. _completedRuns is 0 (notice this is -1 |
| in regular run/_runner), it slowly increases the number of function calls to runFunction between |
| time measurements in order to discount the time used by new Date() calls themselves until the |
| total time spent reaches 100 milliseconds. |
| |
| By default, runPerSecond runs the test for at least 750 milliseconds in each run, and executes |
| 21 runs, yielding the total run time of roughly 18 seconds. This is significantly faster than |
| most of existing performance tests. Also see http://ejohn.org/blog/accuracy-of-javascript-time/. |
| |
| Finally, refactored the existing methods of PerfTestRunner to allow "runs/s" unit and share code. |
| |
| * Layout/flexbox-column-nowrap.html: |
| * Layout/flexbox-column-wrap.html: |
| * Layout/flexbox-row-nowrap.html: |
| * Layout/flexbox-row-wrap.html: |
| * resources/runner.js: |
| (PerfTestRunner.computeStatistics): Takes unit. |
| (PerfTestRunner.logStatistics): Ditto. |
| (PerfTestRunner._runLoop): |
| (PerfTestRunner._runner): |
| (PerfTestRunner.runPerSecond): Added. |
| (PerfTestRunner._perSecondRunner): Added. Called by _runLoop. |
| (PerfTestRunner._perSecondRunnerIterator): Added. |
| |
| 2012-05-09 Tony Chang <tony@chromium.org> |
| |
| add some basic perf-o-matic tests for flexbox |
| https://bugs.webkit.org/show_bug.cgi?id=86017 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Each of these tests take < 3s on my machine. |
| |
| * Layout/flexbox-column-nowrap.html: Added. |
| * Layout/flexbox-column-wrap.html: Added. |
| * Layout/flexbox-row-nowrap.html: Added. |
| * Layout/flexbox-row-wrap.html: Added. |
| |
| 2012-05-05 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: unreviewed followup fix for the performance test after r116218. |
| |
| * inspector/heap-snapshot.html: |
| |
| 2012-05-02 Tom Zakrajsek <tomz@codeaurora.org> |
| |
| Need tests for PerfTestRunner.computeStatistics |
| https://bugs.webkit.org/show_bug.cgi?id=85410 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * resources/runner.js: |
| |
| 2012-05-02 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r115905. |
| http://trac.webkit.org/changeset/115905 |
| https://bugs.webkit.org/show_bug.cgi?id=85435 |
| |
| New computeStatistics test is failing on chromium ports |
| (Requested by tomz on #webkit). |
| |
| * resources/runner.js: |
| |
| 2012-05-02 Tom Zakrajsek <tomz@codeaurora.org> |
| |
| Need tests for PerfTestRunner.computeStatistics |
| https://bugs.webkit.org/show_bug.cgi?id=85410 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * resources/runner.js: |
| |
| 2012-04-29 Tom Zakrajsek <tomz@codeaurora.org> |
| |
| PerfTestRunner.computeStatistics incorrectly calculates min, max and median |
| https://bugs.webkit.org/show_bug.cgi?id=85111 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| The sort of the data input was being done alphabetically. |
| So I provided a numeric compare function. |
| |
| * resources/runner.js: |
| |
| 2012-04-17 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: the fix for test after massive rename in r114271. |
| https://bugs.webkit.org/show_bug.cgi?id=84147 |
| |
| Drive by fix. The test was renamed to heap-snapshot.html |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/heap-snapshot.html: Renamed from PerformanceTests/inspector/detailed-heapshots-smoke-test.html. |
| |
| 2012-04-16 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: rename heap profiler files and classes DetailedHeapshot* ->HeapSnapshot* |
| https://bugs.webkit.org/show_bug.cgi?id=84038 |
| |
| A bunch of renames "detailed heapshot" -> "heap snapshot". |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/detailed-heapshots-smoke-test.html: |
| |
| 2012-04-13 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Fix skipped list. |
| |
| * Skipped: |
| |
| 2012-04-12 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Enable SVG page loading performance tests |
| https://bugs.webkit.org/show_bug.cgi?id=83861 |
| |
| Reviewed by Adam Barth. |
| |
| Unskip PageLoad directory and skip tests that load too fast (less than 100ms) and are unstable, |
| and the ones that take too long to load (more than 20s). |
| |
| * Skipped: |
| |
| 2012-04-04 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: Unreviewed. temporary disable broken inspector tests. |
| |
| * inspector/first-open-scripts.html.broken: Renamed from PerformanceTests/inspector/first-open-scripts.html. |
| * inspector/network-append-30-requests.html.broken: Renamed from PerformanceTests/inspector/network-append-30-requests.html. |
| * inspector/show-panel.html.broken: Renamed from PerformanceTests/inspector/show-panel.html. |
| |
| 2012-04-04 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: linearise aggregate's retaining size calculation. |
| https://bugs.webkit.org/show_bug.cgi?id=83125 |
| |
| This version is twice as fast as the original and it is non-recursive. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/detailed-heapshots-smoke-test.html: |
| |
| 2012-03-30 David Barr <davidbarr@chromium.org> |
| |
| Split up top-level .gitignore and .gitattributes |
| https://bugs.webkit.org/show_bug.cgi?id=82687 |
| |
| Reviewed by Tor Arne Vestbø. |
| |
| * .gitattributes: Added. |
| |
| 2012-03-28 Yury Semikhatsky <yurys@chromium.org> |
| |
| Web Inspector: switch heap profiler front-end to separate storage of nodes and edges |
| https://bugs.webkit.org/show_bug.cgi?id=82453 |
| |
| Updated heap profiler performance test after heap profiler front-end |
| changes. |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/detailed-heapshots-smoke-test.html: |
| |
| 2012-03-27 Alexis Menard <alexis.menard@openbossa.org> |
| |
| Add a perf test which updates the value of an already declared CSS property. |
| https://bugs.webkit.org/show_bug.cgi?id=82321 |
| |
| Reviewed by Andreas Kling. |
| |
| This benchmark update CSS existing properties of the style from JS. |
| |
| * CSS/CSSPropertyUpdateValue.html: Added. |
| |
| 2012-03-15 Kentaro Hara <haraken@chromium.org> |
| |
| [PerformanceTests] run-perf-tests should output correct units |
| https://bugs.webkit.org/show_bug.cgi?id=78303 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Previously run-perf-tests just supported "ms" for units. |
| Consequently, Dromaeo perf tests had been reporting runs/s as "ms". |
| This patch fixes run-perf-tests so that they can support custom units. |
| The default unit is "ms". |
| |
| The test result looks like this: |
| |
| $ ./Tools/Scripts/run-perf-tests Dromaeo/dom-attr.html |
| RESULT Dromaeo: dom-attr= 6465.9525483 runs/s |
| median= 0.0 runs/s, stdev= 24.2983433436 runs/s, min= 6435.87649402 runs/s, max= 6515.63693392 runs/s |
| |
| * Dromaeo/resources/dromaeorunner.js: |
| (.): |
| * resources/runner.js: |
| (PerfTestRunner.computeStatistics): |
| (PerfTestRunner.printStatistics): |
| |
| 2012-03-15 Alexis Menard <alexis.menard@openbossa.org> |
| |
| Fix the test failing with run-perf-tests. |
| |
| Rubber stamped by Ryosuke Niwa. |
| |
| * CSS/CSSPropertySetterGetter.html: |
| |
| 2012-03-14 Alexis Menard <alexis.menard@openbossa.org> |
| |
| Add a new perf test to benchmark setting and reading CSS properties from JS. |
| https://bugs.webkit.org/show_bug.cgi?id=81155 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This benchmark read and set CSS properties from JS. It contains a list |
| of common CSS properties. |
| |
| * CSS/CSSPropertySetterGetter.html: Added. |
| |
| 2012-03-14 Alexandru Chiculita <achicu@adobe.com> |
| |
| Layout/floats.html should be runnable by run-perf-tests |
| https://bugs.webkit.org/show_bug.cgi?id=77051 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| I've split Layout/floats.html into multiple tests for each button in the original manual test. |
| Some tests take longer to run and I've changed the number of iterations, so that each tests finishes under 30s per run. |
| |
| * DOM/resources/dom-perf.js: |
| * Layout/floats.html: Removed. |
| * Layout/floats_100_100.html: Added. |
| * Layout/floats_100_100_nested.html: Added. |
| * Layout/floats_20_100.html: Added. |
| * Layout/floats_20_100_nested.html: Added. |
| * Layout/floats_2_100.html: Added. |
| * Layout/floats_2_100_nested.html: Added. |
| * Layout/floats_50_100.html: Added. |
| * Layout/floats_50_100_nested.html: Added. |
| * Layout/resources/floats.css: Added. |
| (.container): |
| (.float): |
| (.big): |
| (.float-end): |
| * Layout/resources/floats.js: Added. |
| (.): |
| * Skipped: |
| * resources/runner.js: |
| (PerfTestRunner.resetRandomSeed): |
| (PerfTestRunner.random): |
| (Math.random): |
| Moved the Math.random to runner.js to be used by all tests. |
| Added resetRandomSeed to bring the randomizer back to initial seed. |
| It is useful to get the same results at every run and minimize the |
| differences between runs. |
| |
| 2012-03-14 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r110559. |
| http://trac.webkit.org/changeset/110559 |
| https://bugs.webkit.org/show_bug.cgi?id=81142 |
| |
| Broke Dromaeo tests (Requested by rniwa on #webkit). |
| |
| * Dromaeo/resources/dromaeorunner.js: |
| (.): |
| |
| 2012-03-13 Kentaro Hara <haraken@chromium.org> |
| |
| Dromaeo perf-tests results are wrong |
| https://bugs.webkit.org/show_bug.cgi?id=80974 |
| |
| Reviewed by Hajime Morita. |
| |
| Dromaeo perf-tests had reported the sum of runs/seconds as "ms". |
| This patch fixes them to report the execution time per run. |
| |
| At present, they report "0.0ms" for "stdev". This is because |
| dromaeorunner.js can just know stdev of "runs/seconds" |
| and cannot calculate stdev of "ms" from that. We can fix it later. |
| |
| * Dromaeo/resources/dromaeorunner.js: |
| (.): |
| |
| 2012-03-12 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: chromium: increase heap snapshot performance coverage. |
| https://bugs.webkit.org/show_bug.cgi?id=80829 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/detailed-heapshots-smoke-test.html: |
| * inspector/performance-test.js: |
| (initialize_TimeTracker.InspectorTest.measureFunction): |
| |
| 2012-03-06 Kentaro Hara <haraken@chromium.org> |
| |
| [Perf tests] Reduce the number of loops in dom-attributes.html |
| https://bugs.webkit.org/show_bug.cgi?id=80077 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| dom-attributes.html takes 100~ seconds in the perf bots. This patch reduces |
| the time by reducing the number of loops. |
| |
| This is just a temporary fix. After more detailed investigation, I will reduce |
| the number of tests in dom-attributes.html, and revert back the number of loops |
| to guarantee the reliability of the perf test results. |
| |
| * Bindings/dom-attributes.html: |
| |
| 2012-03-06 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: Heap Snapshot test: split overal time metric into separate metrics. |
| https://bugs.webkit.org/show_bug.cgi?id=80409 |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/detailed-heapshots-smoke-test.html: |
| |
| 2012-03-05 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: [chromium] introduce HeapSnapshot performance test. |
| https://bugs.webkit.org/show_bug.cgi?id=80280 |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/detailed-heapshots-smoke-test.html: Added. |
| |
| 2012-03-01 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DOM tests take too long to run |
| https://bugs.webkit.org/show_bug.cgi?id=80082 |
| |
| Reviewed by Eric Seidel. |
| |
| Reduce benchmark.timeToRun from 500ms to 100ms. Doesn't seem to affect test results much |
| (except DOM/DOMTable.html) but significantly reduces the runtime of tests. |
| |
| * DOM/resources/dom-perf.js: |
| (BenchmarkSuite.prototype.RunSingle): |
| |
| 2012-02-26 Kentaro Hara <haraken@chromium.org> |
| |
| [Performance Tests] [Chromium] Bindings/dom-attributes.html is timing out |
| https://bugs.webkit.org/show_bug.cgi?id=79593 |
| |
| Reviewed by Adam Barth. |
| |
| This patch halves the execution time of Bindings/dom-attributes.html |
| in order to avoid timeout in Chromium. The reason for the timeout is that |
| V8 DOM bindings are too much slower than JSC bindings. |
| I am a bit afraid that this patch will reduce the accuracy of the |
| perf test results, but it would make sense to reduce the execution time |
| until we fix the performance issue in V8 DOM bindings. |
| |
| * Bindings/dom-attributes.html: |
| |
| 2012-02-24 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Rename dom*_*attributes.html to dom*-*attributes.html to follow the WebKit convention. |
| |
| * Bindings/dom-attributes.html: Copied from PerformanceTests/Bindings/dom_attributes.html. |
| * Bindings/dom_attributes.html: Removed. |
| |
| 2012-02-24 Kentaro Hara <haraken@chromium.org> |
| |
| Unreviewed, rolling out r108477. |
| http://trac.webkit.org/changeset/108477 |
| https://bugs.webkit.org/show_bug.cgi?id=79209 |
| |
| The perf tests committed in r108748 covers the perf tests |
| committed in r108477. So I'll roll out r108477. |
| |
| * Bindings/dom_attributes_id_getter.html: Removed. |
| * Bindings/dom_attributes_id_setter.html: Removed. |
| * Bindings/resources/dom_attributes_common.js: Removed. |
| |
| 2012-02-24 Kentaro Hara <haraken@chromium.org> |
| |
| Add performance tests for DOM attribute getters and setters |
| https://bugs.webkit.org/show_bug.cgi?id=79208 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This patch adds performance micro-benchmarks for DOM attribute |
| getters and setters. We selected DOM attributes from HTMLElement, |
| Element and Node which will most impact on the DOM performance |
| in the real Web and which have different call-paths from another |
| DOM attribute. |
| |
| The perf test result in my local Chromium/Linux environment is as follows: |
| median= 14967.0 ms, stdev= 85.2385476178 ms, min= 14861.0 ms, max= 15155.0 ms |
| |
| If we run the test with DumpRenderTree, we can get the following test results: |
| Info: [HTMLElement.id] avg=65.76ms, median=65.00ms, stdev=2.14ms, min=63, max=70 |
| Info: [HTMLElement.title] avg=64.05ms, median=63.00ms, stdev=1.50ms, min=63, max=67 |
| Info: [HTMLElement.lang] avg=64.19ms, median=63.00ms, stdev=1.82ms, min=62, max=67 |
| Info: [HTMLElement.dir] avg=64.10ms, median=63.00ms, stdev=1.72ms, min=62, max=68 |
| Info: [HTMLElement.className] avg=63.33ms, median=63.00ms, stdev=0.89ms, min=63, max=67 |
| Info: [HTMLElement.classList] avg=1946.00ms, median=1945.00ms, stdev=38.22ms, min=1921, max=2110 |
| Info: [HTMLElement.tabIndex] avg=83.52ms, median=80.00ms, stdev=6.00ms, min=79, max=94 |
| Info: [HTMLElement.draggable] avg=78.14ms, median=81.00ms, stdev=3.51ms, min=74, max=82 |
| Info: [HTMLElement.webkitdropzone] avg=64.33ms, median=63.00ms, stdev=1.98ms, min=63, max=68 |
| Info: [HTMLElement.hidden] avg=65.57ms, median=64.00ms, stdev=3.27ms, min=63, max=71 |
| Info: [HTMLElement.accessKey] avg=64.43ms, median=63.00ms, stdev=2.11ms, min=62, max=68 |
| Info: [HTMLElement.children] avg=130.76ms, median=128.00ms, stdev=9.75ms, min=109, max=143 |
| Info: [HTMLElement.isContentEditable] avg=74.29ms, median=75.00ms, stdev=2.00ms, min=71, max=77 |
| Info: [HTMLElement.spellcheck] avg=79.52ms, median=80.00ms, stdev=2.52ms, min=76, max=82 |
| Info: [HTMLElement.innerHTML] avg=279.05ms, median=279.00ms, stdev=1.96ms, min=276, max=283 |
| Info: [HTMLElement.innerText] avg=204.14ms, median=203.00ms, stdev=2.95ms, min=200, max=210 |
| Info: [HTMLElement.outerHTML] avg=1544.10ms, median=1546.00ms, stdev=15.56ms, min=1514, max=1568 |
| Info: [HTMLElement.outerText] avg=216.05ms, median=207.00ms, stdev=18.19ms, min=201, max=247 |
| Info: [HTMLElement.contentEditable] avg=334.24ms, median=323.00ms, stdev=36.06ms, min=318, max=446 |
| Info: [HTMLElement.id="foo"] avg=53.19ms, median=53.00ms, stdev=1.76ms, min=52, max=58 |
| Info: [HTMLElement.title="foo"] avg=63.14ms, median=63.00ms, stdev=0.35ms, min=63, max=64 |
| Info: [HTMLElement.lang="foo"] avg=60.86ms, median=61.00ms, stdev=0.56ms, min=60, max=62 |
| Info: [HTMLElement.dir="foo"] avg=53.57ms, median=54.00ms, stdev=0.58ms, min=53, max=55 |
| Info: [HTMLElement.className="foo"] avg=64.52ms, median=64.00ms, stdev=0.91ms, min=63, max=66 |
| Info: [HTMLElement.tabIndex="foo"] avg=367.86ms, median=369.00ms, stdev=8.06ms, min=352, max=380 |
| Info: [HTMLElement.draggable="foo"] avg=79.43ms, median=79.00ms, stdev=0.58ms, min=79, max=81 |
| Info: [HTMLElement.webkitdropzone="foo"] avg=62.14ms, median=62.00ms, stdev=0.35ms, min=62, max=63 |
| Info: [HTMLElement.hidden="foo"] avg=61.67ms, median=62.00ms, stdev=0.71ms, min=61, max=64 |
| Info: [HTMLElement.accessKey="foo"] avg=61.86ms, median=62.00ms, stdev=0.56ms, min=61, max=63 |
| Info: [HTMLElement.spellcheck="foo"] avg=79.57ms, median=80.00ms, stdev=0.58ms, min=78, max=80 |
| Info: [HTMLElement.innerHTML="foo"] avg=1176.67ms, median=1169.00ms, stdev=26.60ms, min=1146, max=1246 |
| Info: [HTMLElement.innerText="foo"] avg=51.62ms, median=52.00ms, stdev=0.72ms, min=50, max=53 |
| Info: [Element.tagName] avg=79.52ms, median=80.00ms, stdev=1.05ms, min=78, max=81 |
| Info: [Element.style] avg=126.19ms, median=126.00ms, stdev=10.40ms, min=104, max=161 |
| Info: [Element.offsetLeft] avg=98.95ms, median=104.00ms, stdev=4.01ms, min=100, max=99 |
| Info: [Element.clientLeft] avg=98.33ms, median=102.00ms, stdev=2.59ms, min=100, max=99 |
| Info: [Element.scrollLeft] avg=103.29ms, median=96.00ms, stdev=15.63ms, min=100, max=97 |
| Info: [Element.dataset] avg=2448.62ms, median=2441.00ms, stdev=20.43ms, min=2426, max=2503 |
| Info: [Element.firstElementChild] avg=58.71ms, median=58.00ms, stdev=2.37ms, min=57, max=65 |
| Info: [Element.lastElementChild] avg=56.33ms, median=55.00ms, stdev=1.83ms, min=54, max=59 |
| Info: [Element.previousElementSibling] avg=52.95ms, median=52.00ms, stdev=1.70ms, min=52, max=57 |
| Info: [Element.nextElementSibling] avg=58.48ms, median=58.00ms, stdev=1.79ms, min=57, max=63 |
| Info: [Element.childElementCount] avg=64.57ms, median=64.00ms, stdev=1.81ms, min=63, max=71 |
| Info: [Element.onload] avg=98.38ms, median=98.00ms, stdev=0.49ms, min=98, max=99 |
| Info: [Element.scrollLeft="foo"] avg=95.24ms, median=95.00ms, stdev=0.92ms, min=94, max=98 |
| Info: [Element.onload="foo"] avg=67.14ms, median=67.00ms, stdev=0.56ms, min=66, max=68 |
| Info: [Node.nodeName] avg=76.29ms, median=76.00ms, stdev=0.63ms, min=75, max=77 |
| Info: [Node.nodeType] avg=53.05ms, median=52.00ms, stdev=2.61ms, min=52, max=61 |
| Info: [Node.parentNode] avg=53.52ms, median=53.00ms, stdev=1.22ms, min=52, max=56 |
| Info: [Node.childNodes] avg=118.33ms, median=123.00ms, stdev=8.85ms, min=107, max=129 |
| Info: [Node.firstChild] avg=53.62ms, median=53.00ms, stdev=1.13ms, min=51, max=55 |
| Info: [Node.lastChild] avg=53.14ms, median=53.00ms, stdev=1.21ms, min=52, max=55 |
| Info: [Node.previousSibling] avg=51.86ms, median=51.00ms, stdev=1.55ms, min=50, max=54 |
| Info: [Node.nextSibling] avg=52.86ms, median=54.00ms, stdev=1.81ms, min=50, max=55 |
| Info: [Node.attributes] avg=2027.71ms, median=2026.00ms, stdev=10.48ms, min=2010, max=2051 |
| Info: [Node.ownerDocument] avg=152.14ms, median=152.00ms, stdev=1.73ms, min=149, max=155 |
| Info: [Node.namespaceURI] avg=60.86ms, median=59.00ms, stdev=3.85ms, min=56, max=66 |
| Info: [Node.localName] avg=60.00ms, median=59.00ms, stdev=2.71ms, min=57, max=66 |
| Info: [Node.baseURI] avg=671.10ms, median=668.00ms, stdev=10.66ms, min=659, max=706 |
| Info: [Node.parentElement] avg=55.05ms, median=56.00ms, stdev=2.15ms, min=52, max=58 |
| Info: [Node.nodeValue] avg=61.24ms, median=60.00ms, stdev=2.56ms, min=59, max=68 |
| Info: [Node.prefix] avg=60.90ms, median=58.00ms, stdev=4.26ms, min=57, max=68 |
| Info: [Node.textContent] avg=149.71ms, median=149.00ms, stdev=1.12ms, min=148, max=152 |
| Info: [Node.nodeValue="foo"] avg=23.62ms, median=23.00ms, stdev=0.72ms, min=23, max=25 |
| Info: [Node.prefix="foo"] avg=49.57ms, median=49.00ms, stdev=0.73ms, min=49, max=51 |
| Info: [Node.textContent="foo"] avg=145.81ms, median=140.00ms, stdev=17.43ms, min=138, max=199 |
| |
| * Bindings/dom_attributes.html: Added. |
| * resources/runner.js: |
| (PerfTestRunner.info): |
| |
| 2012-02-22 Kentaro Hara <haraken@chromium.org> |
| |
| Add performance tests for the Element.id getter and setter |
| https://bugs.webkit.org/show_bug.cgi?id=79209 |
| |
| Reviewed by Adam Barth. |
| |
| This patch adds performance tests for the Element.id getter and setter. |
| |
| The results of 10 runs in my local Chromium/Linux are as follows: |
| |
| dom_attributes_id_getter.html: |
| median= 92.0 ms, stdev= 1.65151445649 ms, min= 89.0 ms, max= 96.0 ms |
| median= 87.5 ms, stdev= 1.84390889146 ms, min= 85.0 ms, max= 92.0 ms |
| median= 94.0 ms, stdev= 1.46543508898 ms, min= 90.0 ms, max= 95.0 ms |
| median= 86.0 ms, stdev= 1.66958078571 ms, min= 84.0 ms, max= 91.0 ms |
| median= 94.0 ms, stdev= 2.25610283454 ms, min= 103.0 ms, max= 98.0 ms |
| median= 86.0 ms, stdev= 1.49666295471 ms, min= 84.0 ms, max= 91.0 ms |
| median= 86.0 ms, stdev= 1.5321553446 ms, min= 84.0 ms, max= 90.0 ms |
| median= 86.0 ms, stdev= 2.20227155455 ms, min= 84.0 ms, max= 94.0 ms |
| median= 96.0 ms, stdev= 1.74570902501 ms, min= 101.0 ms, max= 99.0 ms |
| median= 86.0 ms, stdev= 1.63935963108 ms, min= 84.0 ms, max= 90.0 ms |
| median= 94.0 ms, stdev= 1.49248115566 ms, min= 90.0 ms, max= 95.0 ms |
| median= 88.0 ms, stdev= 5.20192272146 ms, min= 84.0 ms, max= 98.0 ms |
| median= 86.0 ms, stdev= 1.41067359797 ms, min= 84.0 ms, max= 89.0 ms |
| median= 86.0 ms, stdev= 1.48660687473 ms, min= 84.0 ms, max= 89.0 ms |
| median= 94.0 ms, stdev= 1.58113883008 ms, min= 93.0 ms, max= 97.0 ms |
| median= 86.0 ms, stdev= 1.95959179423 ms, min= 84.0 ms, max= 93.0 ms |
| median= 86.0 ms, stdev= 1.8547236991 ms, min= 84.0 ms, max= 92.0 ms |
| median= 86.0 ms, stdev= 1.39283882772 ms, min= 84.0 ms, max= 89.0 ms |
| median= 88.0 ms, stdev= 1.48660687473 ms, min= 85.0 ms, max= 90.0 ms |
| median= 86.5 ms, stdev= 2.3 ms, min= 84.0 ms, max= 93.0 ms |
| |
| dom_attributes_id_setter.html: |
| median= 123.0 ms, stdev= 2.06397674406 ms, min= 119.0 ms, max= 128.0 ms |
| median= 119.0 ms, stdev= 1.92028643697 ms, min= 117.0 ms, max= 123.0 ms |
| median= 121.0 ms, stdev= 1.8781639971 ms, min= 118.0 ms, max= 123.0 ms |
| median= 123.0 ms, stdev= 2.21585198062 ms, min= 119.0 ms, max= 130.0 ms |
| median= 124.5 ms, stdev= 2.36378933071 ms, min= 119.0 ms, max= 129.0 ms |
| median= 122.0 ms, stdev= 2.4474476501 ms, min= 118.0 ms, max= 128.0 ms |
| median= 123.0 ms, stdev= 1.76351920885 ms, min= 118.0 ms, max= 125.0 ms |
| median= 119.0 ms, stdev= 1.79652442232 ms, min= 117.0 ms, max= 125.0 ms |
| median= 121.0 ms, stdev= 1.49916643506 ms, min= 119.0 ms, max= 123.0 ms |
| median= 119.5 ms, stdev= 1.85135085816 ms, min= 117.0 ms, max= 125.0 ms |
| median= 124.0 ms, stdev= 1.43090880213 ms, min= 120.0 ms, max= 124.0 ms |
| median= 122.0 ms, stdev= 1.45859521458 ms, min= 118.0 ms, max= 123.0 ms |
| median= 123.0 ms, stdev= 1.50332963784 ms, min= 120.0 ms, max= 124.0 ms |
| median= 123.0 ms, stdev= 1.3638181697 ms, min= 120.0 ms, max= 125.0 ms |
| median= 119.0 ms, stdev= 1.43527000944 ms, min= 117.0 ms, max= 121.0 ms |
| median= 122.5 ms, stdev= 1.71682847134 ms, min= 118.0 ms, max= 124.0 ms |
| median= 121.0 ms, stdev= 1.44481832768 ms, min= 118.0 ms, max= 123.0 ms |
| median= 120.0 ms, stdev= 1.40978721799 ms, min= 117.0 ms, max= 122.0 ms |
| median= 122.0 ms, stdev= 1.68522995464 ms, min= 119.0 ms, max= 125.0 ms |
| median= 122.0 ms, stdev= 1.55804364509 ms, min= 118.0 ms, max= 123.0 ms |
| |
| |
| * Bindings/dom_attributes_id_getter.html: Added. |
| * Bindings/dom_attributes_id_setter.html: Added. |
| * Bindings/resources/dom_attributes_common.js: Added. |
| |
| 2012-02-16 Alexis Menard <alexis.menard@openbossa.org> |
| |
| Add a perf test for the CSS parser. |
| https://bugs.webkit.org/show_bug.cgi?id=78114 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Add a perf test for the CSS parser. It load a big CSS chunk |
| which contains some snippets of the YUI library from Yahoo!. |
| |
| * Parser/css-parser-yui.html: Added. |
| |
| 2012-02-08 Hajime Morrita <morrita@chromium.org> |
| |
| [PerformanceTests] sunspider-crypto-md5.html and sunspider-crypto-sha1.html are timing out on cr-mac perf bot |
| https://bugs.webkit.org/show_bug.cgi?id=78174 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Pulled back removed files. |
| |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-md5.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-sha1.html: Added. |
| |
| 2012-02-02 Hajime Morrita <morrita@chromium.org> |
| |
| [PerformanceTests] Each Dromaeo test needs its landing html. |
| https://bugs.webkit.org/show_bug.cgi?id=77504 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| - Added landing pages for each test which are listed in MANIFEST.json |
| - Removed some tests which depends on the library whose license is incompatible to WebKit. |
| - Added local copy of corresponding library. And replace the references to the remote sources |
| to the local copies. |
| - Removed old library files under Dromaeo/resources/dromaeo/web/lib/. |
| - Skipped Sunsupier and v8 test. Such JS centric test should have its own test instead of |
| running as a part of Dromaeo. |
| |
| * Dromaeo/cssquery-dojo.html: Added. |
| * Dromaeo/cssquery-jquery.html: Added. |
| * Dromaeo/cssquery-prototype.html: Added. |
| * Dromaeo/dom-attr.html: Added. |
| * Dromaeo/dom-modify.html: Added. |
| * Dromaeo/dom-traverse.html: Added. |
| * Dromaeo/dromaeo-3d-cube.html: Added. |
| * Dromaeo/dromaeo-core-eval.html: Added. |
| * Dromaeo/dromaeo-object-array.html: Added. |
| * Dromaeo/dromaeo-object-regexp.html: Added. |
| * Dromaeo/dromaeo-object-string.html: Added. |
| * Dromaeo/dromaeo-string-base64.html: Added. |
| * Dromaeo/jslib-attr-jquery.html: Added. |
| * Dromaeo/jslib-attr-prototype.html: Added. |
| * Dromaeo/jslib-event-jquery.html: Added. |
| * Dromaeo/jslib-event-prototype.html: Added. |
| * Dromaeo/jslib-modify-jquery.html: Added. |
| * Dromaeo/jslib-modify-prototype.html: Added. |
| * Dromaeo/jslib-style-jquery.html: Added. |
| * Dromaeo/jslib-style-prototype.html: Added. |
| * Dromaeo/jslib-traverse-jquery.html: Added. |
| * Dromaeo/jslib-traverse-prototype.html: Added. |
| * Dromaeo/resources/dromaeo/web/lib/dojo.js: Removed. |
| * Dromaeo/resources/dromaeo/web/lib/dojo-1.6.1.js: Added. |
| * Dromaeo/resources/dromaeo/web/lib/jquery.js: Removed. |
| * Dromaeo/resources/dromaeo/web/lib/jquery-1.6.4.js: Added. |
| * Dromaeo/resources/dromaeo/web/lib/mootools.js: Removed. |
| * Dromaeo/resources/dromaeo/web/lib/prototype.js: Removed. |
| * Dromaeo/resources/dromaeo/web/lib/prototype-1.7.js: Added. |
| * Dromaeo/resources/dromaeo/web/tests/cssquery-dojo.html: |
| * Dromaeo/resources/dromaeo/web/tests/cssquery-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/cssquery-mootools.html: Removed. |
| * Dromaeo/resources/dromaeo/web/tests/cssquery-prototype.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-attr-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-attr-prototype.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-event-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-event-prototype.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-modify-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-modify-prototype.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-style-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-style-prototype.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-traverse-jquery.html: |
| * Dromaeo/resources/dromaeo/web/tests/jslib-traverse-prototype.html: |
| * Dromaeo/sunspider-3d-morph.html: Added. |
| * Dromaeo/sunspider-3d-raytrace.html: Added. |
| * Dromaeo/sunspider-access-binary-trees.html: Added. |
| * Dromaeo/sunspider-access-fannkuch.html: Added. |
| * Dromaeo/sunspider-access-nbody.html: Added. |
| * Dromaeo/sunspider-access-nsieve.html: Added. |
| * Dromaeo/sunspider-bitops-3bit-bits-in-byte.html: Added. |
| * Dromaeo/sunspider-bitops-bits-in-byte.html: Added. |
| * Dromaeo/sunspider-bitops-bitwise-and.html: Added. |
| * Dromaeo/sunspider-bitops-nsieve-bits.html: Added. |
| * Dromaeo/sunspider-controlflow-recursive.html: Added. |
| * Dromaeo/sunspider-crypto-aes.html: Added. |
| * Dromaeo/sunspider-crypto-md5.html: Added. |
| * Dromaeo/sunspider-crypto-sha1.html: Added. |
| * Dromaeo/sunspider-date-format-tofte.html: Added. |
| * Dromaeo/sunspider-date-format-xparb.html: Added. |
| * Dromaeo/sunspider-math-cordic.html: Added. |
| * Dromaeo/sunspider-math-partial-sums.html: Added. |
| * Dromaeo/sunspider-math-spectral-norm.html: Added. |
| * Dromaeo/sunspider-regexp-dna.html: Added. |
| * Dromaeo/sunspider-string-fasta.html: Added. |
| * Dromaeo/sunspider-string-tagcloud.html: Added. |
| * Dromaeo/sunspider-string-unpack-code.html: Added. |
| * Dromaeo/sunspider-string-validate-input.html: Added. |
| * Dromaeo/v8-crypto.html: Added. |
| * Dromaeo/v8-deltablue.html: Added. |
| * Dromaeo/v8-earley-boyer.html: Added. |
| * Dromaeo/v8-raytrace.html: Added. |
| * Dromaeo/v8-richards.html: Added. |
| * Skipped: |
| |
| 2012-02-02 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r106543. |
| http://trac.webkit.org/changeset/106543 |
| https://bugs.webkit.org/show_bug.cgi?id=77671 |
| |
| Made tests less stable (Requested by rniwa on #webkit). |
| |
| * resources/init.html: Removed. |
| |
| 2012-02-02 Ryosuke Niwa <rniwa@webkit.org> |
| |
| [PerformanceTests] tests have dependencies |
| https://bugs.webkit.org/show_bug.cgi?id=77506 |
| |
| Reviewed by Hajime Morita. |
| |
| * resources/init.html: Added. |
| |
| 2012-02-01 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Fix after r106386. The empty anchor element was generating an erroneous whitespace. |
| |
| * Bindings/event-target-wrapper.html: |
| |
| 2012-02-01 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Another fix after r106379. |
| |
| * Parser/html5-full-render.html: |
| |
| 2012-01-31 Hajime Morrita <morrita@chromium.org> |
| |
| Import Dromaeo to WebKit repository. |
| https://bugs.webkit.org/show_bug.cgi?id=77328 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Imported a modified version of Dromaeo which is able to |
| run on the DRT. |
| |
| The imported version originally came from: |
| https://github.com/omo/dromaeo/commit/c942a1452109cdd5f759b3c4aee8d68d490d44a2 |
| |
| * Dromaeo/resources/dromaeo/web/application.css: Added. |
| * Dromaeo/resources/dromaeo/web/favicon.ico: Added. |
| * Dromaeo/resources/dromaeo/web/favicon.png: Added. |
| * Dromaeo/resources/dromaeo/web/htmlrunner.js: Added. |
| * Dromaeo/resources/dromaeo/web/ie.css: Added. |
| * Dromaeo/resources/dromaeo/web/images/bg.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/clouds.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/clouds2.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/comets.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/dino1.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/dino2.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/dino3.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/dino4.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/dino5.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/dino6.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/dino7.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/dino8.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/left.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/logo.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/logo2.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/logo3.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/right.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/top.png: Added. |
| * Dromaeo/resources/dromaeo/web/images/water.png: Added. |
| * Dromaeo/resources/dromaeo/web/index.html: Added. |
| * Dromaeo/resources/dromaeo/web/jquery.js: Added. |
| * Dromaeo/resources/dromaeo/web/lib/dojo.js: Added. |
| * Dromaeo/resources/dromaeo/web/lib/jquery.js: Added. |
| * Dromaeo/resources/dromaeo/web/lib/mootools.js: Added. |
| * Dromaeo/resources/dromaeo/web/lib/prototype.js: Added. |
| * Dromaeo/resources/dromaeo/web/pngfix.js: Added. |
| * Dromaeo/resources/dromaeo/web/reset.css: Added. |
| * Dromaeo/resources/dromaeo/web/test-head.html: Added. |
| * Dromaeo/resources/dromaeo/web/test-head.js: Added. |
| * Dromaeo/resources/dromaeo/web/test-tail.html: Added. |
| * Dromaeo/resources/dromaeo/web/test-tail.js: Added. |
| * Dromaeo/resources/dromaeo/web/tests/MANIFEST.json: Added. |
| * Dromaeo/resources/dromaeo/web/tests/cssquery-dojo.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/cssquery-jquery.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/cssquery-mootools.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/cssquery-prototype.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/cssquery-yui.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/dom-attr.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/dom-modify.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/dom-query.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/dom-traverse.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/dromaeo-3d-cube.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/dromaeo-core-eval.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/dromaeo-object-array.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/dromaeo-object-regexp.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/dromaeo-object-string.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/dromaeo-string-base64.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/jslib-attr-jquery.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/jslib-attr-prototype.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/jslib-event-jquery.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/jslib-event-prototype.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/jslib-modify-jquery.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/jslib-modify-prototype.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/jslib-style-jquery.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/jslib-style-prototype.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/jslib-traverse-jquery.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/jslib-traverse-prototype.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-3d-morph.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-3d-raytrace.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-access-binary-trees.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-access-fannkuch.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-access-nbody.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-access-nsieve.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-3bit-bits-in-byte.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-bits-in-byte.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-bitwise-and.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-nsieve-bits.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-controlflow-recursive.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-aes.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-md5.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-sha1.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-date-format-tofte.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-date-format-xparb.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-math-cordic.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-math-partial-sums.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-math-spectral-norm.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-regexp-dna.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-string-fasta.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-string-tagcloud.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-string-unpack-code.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/sunspider-string-validate-input.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/v8-crypto.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/v8-deltablue.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/v8-earley-boyer.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/v8-raytrace.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/v8-richards.html: Added. |
| * Dromaeo/resources/dromaeo/web/tests/72px.png: Added. |
| * Dromaeo/resources/dromaeo/web/web-style.css: Added. |
| * Dromaeo/resources/dromaeo/web/webrunner.js: Added. |
| * Skipped: Unskip the dromaeo driver. |
| |
| 2012-01-31 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Fix Parser/html5-full-render.html after r106379. |
| |
| * Parser/html5-full-render.html: |
| |
| 2012-01-31 Ryosuke Niwa <rniwa@webkit.org> |
| |
| PerfTestRunner should automatically create pre#log |
| https://bugs.webkit.org/show_bug.cgi?id=77469 |
| |
| Reviewed by Tony Chang. |
| |
| Automatically generate <pre id="log"></pre> if there isn't one. |
| |
| * Bindings/event-target-wrapper.html: |
| * DOM/Accessors.html: |
| * DOM/CloneNodes.html: |
| * DOM/CreateNodes.html: |
| * DOM/DOMDivWalk.html: |
| * DOM/DOMTable.html: |
| * DOM/DOMWalk.html: |
| * DOM/Events.html: |
| * DOM/GetElement.html: |
| * DOM/GridSort.html: |
| * DOM/Template.html: |
| * Dromaeo/dom-query.html: |
| * Dromaeo/resources/dromaeorunner.js: |
| * Parser/html-parser.html: |
| * Parser/html5-full-render.html: |
| * Parser/simple-url.html: |
| * Parser/tiny-innerHTML.html: |
| * Parser/url-parser.html: |
| * Parser/xml-parser.html: |
| * resources/runner.js: |
| (PerfTestRunner.log): |
| (PerfTestRunner.printStatistics): |
| |
| 2012-01-31 Ryosuke Niwa <rniwa@webkit.org> |
| |
| runner.js in performance tests should define a class |
| https://bugs.webkit.org/show_bug.cgi?id=77074 |
| |
| Reviewed by Eric Seidel. |
| |
| Wrap all functions in runner.js by PerfTestRunner and update tests that runner.js accordingly. |
| Also replace compute* functions in runner.js by more robust code from dom-perf.js. |
| |
| * Bindings/event-target-wrapper.html: |
| * DOM/DOMTable.html: |
| * DOM/resources/dom-perf.js: |
| (BenchmarkSuite.prototype.RunSingle): |
| (runBenchmarkSuite): |
| * Mutation/append-child-deep.html: |
| * Mutation/append-child.html: |
| * Mutation/inner-html.html: |
| * Mutation/remove-child-deep.html: |
| * Mutation/remove-child.html: |
| * Parser/html-parser.html: |
| * Parser/html5-full-render.html: |
| * Parser/simple-url.html: |
| * Parser/tiny-innerHTML.html: |
| * Parser/url-parser.html: |
| * Parser/xml-parser.html: |
| * resources/runner.js: |
| (PerfTestRunner.log): |
| (PerfTestRunner.logInfo): |
| (PerfTestRunner.loadFile): |
| (PerfTestRunner.computeStatistics): |
| (PerfTestRunner.logStatistics): |
| (PerfTestRunner._runLoop.else): |
| (PerfTestRunner._runLoop): |
| (PerfTestRunner._runner): |
| |
| 2012-01-31 Hajime Morrita <morrita@chromium.org> |
| |
| [PerformanceTests] Add landing html for Dromaeo dom-query test |
| https://bugs.webkit.org/show_bug.cgi?id=77329 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Added a "landing html" which includes actual dromaemo page and |
| send messages to interact with it. The landing html also dumps the |
| score in run-perf-tests friendly format. |
| |
| This test isn't enabled until Dromaemo itself is available for run-perf-tests. |
| It will happen in a separate change. |
| |
| * Dromaeo/dom-query.html: Added. |
| * Dromaeo/resources/dromaeorunner.js: Added. |
| * Skipped: Skipping this for now. |
| |
| 2012-01-30 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Skip inspector tests since they have been timing out. |
| |
| * Skipped: |
| |
| 2012-01-29 Ryosuke Niwa <rniwa@webkit.org> |
| |
| DOM/DOMDivWalk.html result is unreliable |
| https://bugs.webkit.org/show_bug.cgi?id=77313 |
| |
| Reviewed by Adam Barth. |
| |
| Trigger garbage collection manually between test runs to avoid GC |
| to occur in the middle of runs. |
| |
| * DOM/resources/dom-perf.js: |
| (BenchmarkSuite.prototype.RunSingle): |
| * resources/runner.js: |
| (gc.else.gcRec): |
| (gc): |
| (runLoop): |
| |
| 2012-01-26 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Import Chromium's dom_perf test |
| https://bugs.webkit.org/show_bug.cgi?id=77175 |
| |
| Reviewed by Adam Barth. |
| |
| Import dom_perf. |
| |
| Note resources/dom/suites.js isn't used by any html file yet but it will be used by Chromium port |
| once its perf bots start pulling test files from WebKit repository instead of Google's internal repository. |
| |
| * DOM: Added. |
| * DOM/Accessors.html: Added. |
| * DOM/CloneNodes.html: Added. |
| * DOM/CreateNodes.html: Added. |
| * DOM/DOMDivWalk.html: Added. |
| * DOM/DOMTable.html: Added. |
| * DOM/DOMWalk.html: Added. |
| * DOM/Events.html: Added. |
| * DOM/GetElement.html: Added. |
| * DOM/GridSort.html: Added. |
| * DOM/Template.html: Added. |
| * DOM/resources: Added. |
| * DOM/resources/dom-perf.js: Added. |
| * DOM/resources/dom-perf: Added. |
| * DOM/resources/dom-perf/accessors.js: Added. |
| * DOM/resources/dom-perf/clonenodes.js: Added. |
| * DOM/resources/dom-perf/createnodes.js: Added. |
| * DOM/resources/dom-perf/domdivwalk.js: Added. |
| * DOM/resources/dom-perf/domtable.js: Added. |
| * DOM/resources/dom-perf/domwalk.js: Added. |
| * DOM/resources/dom-perf/events.js: Added. |
| * DOM/resources/dom-perf/getelement.js: Added. |
| * DOM/resources/dom-perf/gridsort.js: Added. |
| * DOM/resources/dom-perf/suites.js: Added. |
| * DOM/resources/dom-perf/template.js: Added. |
| * resources/runner.js: |
| |
| 2012-01-25 Ryosuke Niwa <rniwa@webkit.org> |
| |
| html5-full-render.html fails due to a log |
| https://bugs.webkit.org/show_bug.cgi?id=77046 |
| |
| Reviewed by Adam Barth. |
| |
| Replace the call to log() in html5-full-render.html by a call to newly added logInfo(), |
| which doesn't print anything inside DRT. |
| |
| * Parser/html5-full-render.html: |
| * resources/runner.js: |
| (logInfo): |
| |
| 2012-01-19 Adam Barth <abarth@webkit.org> |
| |
| PerformanceTests's runner.js shouldn't be Parser-specific |
| https://bugs.webkit.org/show_bug.cgi?id=76670 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| This runner script is used by a bunch of difference performance tests. |
| It shouldn't be in the Parser directory anymore. |
| |
| * Bindings/event-target-wrapper.html: |
| * Mutation/append-child-deep.html: |
| * Mutation/append-child.html: |
| * Mutation/inner-html.html: |
| * Mutation/remove-child-deep.html: |
| * Mutation/remove-child.html: |
| * Parser/html-parser.html: |
| * Parser/html5-full-render.html: |
| * Parser/resources/runner.js: Removed. |
| * Parser/simple-url.html: |
| * Parser/tiny-innerHTML.html: |
| * Parser/url-parser.html: |
| * Parser/xml-parser.html: |
| * resources: Added. |
| * resources/runner.js: Copied from PerformanceTests/Parser/resources/runner.js. |
| |
| 2012-01-19 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Some perf tests time out when ran by run-perf-tests |
| https://bugs.webkit.org/show_bug.cgi?id=76612 |
| |
| Reviewed by Dirk Pranke and Eric Seidel. |
| |
| Replace all images in html5.html by geenbox.png to avoid accessing whatwg.org when |
| running the parser tests. Also call dumpAsText, waitUntilDone, and notifyDone automatically |
| inside runner.js to avoid having to call them in individual tests. |
| |
| * Bindings/event-target-wrapper.html: Removed calls to layoutTestController methods since |
| they are now called by runner.js automatically. |
| * Parser/resources/greenbox.png: Copied from LayoutTests/fast/css/resources/greenbox.png. |
| * Parser/resources/html5.html: |
| * Parser/resources/runner.js: |
| (runLoop): |
| |
| 2012-01-18 Ryosuke Niwa <rniwa@webkit.org> |
| |
| run-perf-tests should support Skipped list |
| https://bugs.webkit.org/show_bug.cgi?id=76594 |
| |
| Reviewed by Adam Barth. |
| |
| Add Skipped list to be used by run-perf-tests as it can only runs tests in |
| Bindings, Parser, and inspector at the moment. |
| |
| * Skipped: Added. |
| |
| 2012-01-12 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: performance: restore 'log 300 messages into console' test. |
| https://bugs.webkit.org/show_bug.cgi?id=76170 |
| |
| It was removed in order of transition from layout tests to perf tests. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/console-300-lines.html: Added. |
| |
| 2012-01-12 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: performance tests: fix memory leak in first-open-resources test. |
| https://bugs.webkit.org/show_bug.cgi?id=76049 |
| |
| first-open-resources doesn't reset resource panel properly after test run. |
| |
| Reviewed by Yury Semikhatsky. |
| |
| * inspector/first-open-resources.html: |
| |
| 2012-01-10 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Unreviewed. WebInspector: Remove unnecessary logging from the test. |
| |
| * inspector/first-open-resources.html: |
| |
| 2012-01-10 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Unreviewed. Restore test that was removed during migration from LayoutTests folder. |
| |
| * inspector/first-open-resources.html: Added. |
| |
| 2012-01-09 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Unreviewed test fix after r103683. |
| |
| * inspector/first-open-scripts.html: |
| * inspector/show-panel.html: |
| |
| 2012-01-03 Adam Barth <abarth@webkit.org> |
| |
| html-parser.html takes too long to run |
| https://bugs.webkit.org/show_bug.cgi?id=75515 |
| |
| Reviewed by Eric Seidel. |
| |
| In working on runner.js, we introduced a factor of 10 increase to the |
| running time of this benchmark. This patch dials down the number of |
| iterations to something more user-friendly. |
| |
| * Parser/html-parser.html: |
| |
| 2011-12-18 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: move heap data stats to separate tab. |
| https://bugs.webkit.org/show_bug.cgi?id=74704 |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/performance-test.js: |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump): |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest): |
| |
| 2011-12-01 Ilya Tikhonovsky <loislo@chromium.org> |
| |
| Web Inspector: chromium: move and adapt Inspector's performance tests for running with run-inspector-perf-tests.py. |
| https://bugs.webkit.org/show_bug.cgi?id=72260 |
| |
| Reviewed by Pavel Feldman. |
| |
| * inspector/first-open-elements.html: Renamed from LayoutTests/inspector/performance/resources/first-open-elements.html. |
| * inspector/first-open-scripts.html: Renamed from LayoutTests/inspector/performance/resources/first-open-scripts.html. |
| * inspector/inspector-startup-time.html: Renamed from LayoutTests/inspector/performance/resources/inspector-startup-time.html. |
| * inspector/network-append-30-requests.html: Renamed from LayoutTests/inspector/performance/resources/network-append-30-requests.html. |
| * inspector/performance-test.js: Renamed from LayoutTests/inspector/performance/resources/performance-test.js. |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer): |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.start): |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.finish): |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._getJSHeapSize): |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.done): |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._runTest): |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump): |
| (initialize_TimeTracker.InspectorTest.runPerformanceTest): |
| (initialize_TimeTracker.InspectorTest.mark): |
| * inspector/show-panel.html: Renamed from LayoutTests/inspector/performance/resources/show-panel.html. |
| |
| 2011-11-09 Adam Klein <adamk@chromium.org> |
| |
| [MutationObservers] Microbenchmarks for appendChild, removeChild, and innerHTML |
| https://bugs.webkit.org/show_bug.cgi?id=71939 |
| |
| Reviewed by Ojan Vafai. |
| |
| These benchmarks time both the DOM mutations themselves and the time taken |
| to call the MutationCallback. This measurement is achieved by |
| executing the code entirely within the MutationCallback itself. |
| |
| * Mutation/append-child-deep.html: Added. Covers appendChild in a 200-node-deep tree with subtree observation. |
| * Mutation/append-child.html: Added. Covers appendChild in a flat tree. |
| * Mutation/inner-html.html: Added. Covers innerHTML adding and removing many nodes at a time. |
| * Mutation/remove-child-deep.html: Added. Covers removeChild in a 200-node-deep tree with subtree observation. |
| * Mutation/remove-child.html: Added. Covers removeChild in a flat tree. |
| |
| 2011-10-25 Adam Barth <abarth@webkit.org> |
| |
| EventTargetFactory.in is not sorted |
| https://bugs.webkit.org/show_bug.cgi?id=70855 |
| |
| Reviewed by Eric Seidel. |
| |
| Add a microbenchmark for wrapping event target. |
| |
| * Bindings: Added. |
| * Bindings/event-target-wrapper.html: Added. |
| * Parser/resources/runner.js: |
| (runLoop): |
| - Let the user of the harness get a callback when the test is done. |
| |
| 2011-10-04 Eric Seidel <eric@webkit.org> |
| |
| Update html5-full-render.html to load the HTML5 spec incrementally, closer to how the browser would |
| https://bugs.webkit.org/show_bug.cgi?id=69374 |
| |
| Unreviewed. |
| |
| Per https://bugs.webkit.org/show_bug.cgi?id=69374#c7 |
| updating the chunksize to be a bit smaller now that the total |
| size of the html5 spec is smaller than when I wrote the test. |
| |
| This should increase the prevalence of style resolution in the |
| sample time, which more closely matches instrument samples |
| taken when loading the full page in Safari. |
| |
| * Parser/html5-full-render.html: |
| |
| 2011-10-04 Eric Seidel <eric@webkit.org> |
| |
| Update html5-full-render.html to load the HTML5 spec incrementally, closer to how the browser would |
| https://bugs.webkit.org/show_bug.cgi?id=69374 |
| |
| Reviewed by James Robinson. |
| |
| This should finally be able to provide us with a repeatable metric |
| for how fast we're currently able to load the HTML5 spec. |
| There are a variety of interesting functions which show up in this |
| sample, including of course style resolution. |
| |
| * Parser/html5-full-render.html: |
| |
| 2011-10-04 Eric Seidel <eric@webkit.org> |
| |
| Update our copy of the HTML5 spec used for performance testing to match the latest version |
| https://bugs.webkit.org/show_bug.cgi?id=69364 |
| |
| Unreviewed. The patch is too large to post, so landing this unreviewed. :( |
| |
| The copy of the html5 spec we were using for testing was over a year old |
| and didn't have any of the subresources with it (we were only using it |
| as an HTML parsing benchmark). I'm about to use it for testing |
| the full load/render time of the benchmark, so I've updated to the latest |
| version of the spec (now 8mb instead of 5mb) and inlined two of the |
| CSS files. (Inlining the CSS was necessary to make my testing consistent |
| as there seems to be a race with some timer fired after CSS load.) |
| |
| Increasing from 5mb to 8mb showed a similar 30% slowdown in our parser |
| benchmarks as expected. |
| |
| * Parser/resources/html5.html: |
| |
| 2011-10-04 Eric Seidel <eric@webkit.org> |
| |
| Add loopsPerRun option to Parser performance test runner |
| https://bugs.webkit.org/show_bug.cgi?id=69363 |
| |
| Reviewed by Antti Koivisto. |
| |
| Add loopsPerRun option and abstract out runLoop function (to make the UI more responsive). |
| No change in behavior in any of the tests. |
| |
| * Parser/resources/runner.js: |
| (runLoop): |
| (run): |
| (start): |
| |
| 2011-10-03 Eric Seidel <eric@webkit.org> |
| |
| Add a microbenchmark for a full-page render of the HTML5 spec |
| https://bugs.webkit.org/show_bug.cgi?id=69285 |
| |
| Reviewed by Adam Barth. |
| |
| This was designed to be a test for https://bugs.webkit.org/show_bug.cgi?id=68944 |
| But it seems that by far our dominating cost for the HTML5 benchmark is |
| time spent laying out lines (which isn't actually that surprising). |
| |
| I'm adding the performance test for posterity. |
| |
| * Parser/html-parser.html: |
| - Removed use of "about:blank" which abarth says is a no-op. Made comment more accurate. |
| * Parser/html5-full-render.html: Copied from PerformanceTests/Parser/html-parser.html. |
| |
| 2011-10-03 Eric Seidel <eric@webkit.org> |
| |
| PerformanceTests/Parser/html-parser is only testing parsing of the head element |
| https://bugs.webkit.org/show_bug.cgi?id=69283 |
| |
| Reviewed by Adam Barth. |
| |
| While investigating https://bugs.webkit.org/show_bug.cgi?id=68944 |
| I found that the html-parser benchmark was only parsing up to the |
| first script tag per loop! We've fixed this by adding the sandbox |
| tag which will deny all external loads and allow the parser to |
| synchronously continue parsing the entire document to completion |
| (as we had expected it was doing). |
| |
| This changes the profile somewhat. Line number counting is much |
| hotter, since we're actually accounting for the parse of the entire |
| document in our sample. |
| |
| Total sample time only about doubles, from 1800ms to 3800ms on my machine |
| which is less than I would have expected. |
| |
| * Parser/html-parser.html: |
| |
| 2011-08-09 Alexandru Chiculita <achicu@adobe.com> |
| |
| Fixing 65868 REGRESSION(r92610) caused by 65668 - Optimize floating elements lookup |
| https://bugs.webkit.org/show_bug.cgi?id=65871 |
| |
| Reviewed by Dave Hyatt. |
| |
| * Layout/floats.html: Added the nested divs, so that we can test the propagation impact of the floats tree. |
| |
| 2011-08-08 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r92610. |
| http://trac.webkit.org/changeset/92610 |
| https://bugs.webkit.org/show_bug.cgi?id=65868 |
| |
| Caused assertion failures when running fast/multicol tests |
| (Requested by andersca on #webkit). |
| |
| * Layout/floats.html: |
| |
| 2011-08-08 Alexandru Chiculita <achicu@adobe.com> |
| |
| Optimize floating elements lookup |
| https://bugs.webkit.org/show_bug.cgi?id=65668 |
| |
| Reviewed by David Hyatt. |
| |
| * Layout/floats.html: Added the nested divs, so that we can test the propagation impact of the floats tree. |
| |
| 2011-08-04 Alexandru Chiculita <achicu@adobe.com> |
| |
| Add a performance test for floating elements layout algorithm |
| https://bugs.webkit.org/show_bug.cgi?id=65741 |
| |
| The test creating lots of small floats and randomly changes |
| the width of one element at a time. It measures how often it can do that. |
| |
| Reviewed by Adam Barth. |
| |
| * Layout/floats.html: Added. |
| |
| 2011-05-30 Daniel Bates <dbates@webkit.org> |
| |
| Reviewed by Adam Barth. |
| |
| Rename XSSFilter to XSSAuditor |
| https://bugs.webkit.org/show_bug.cgi?id=61718 |
| |
| Currently we use the names XSSFilter and XSSAuditor throughout the project. |
| Instead, we should choose one name for consistency. |
| |
| No functionality was changed. So, no new tests. |
| |
| * XSSAuditor: Copied from PerformanceTests/XSSFilter. |
| * XSSFilter: Removed. |
| * XSSFilter/large-post-many-events.html: Removed. |
| * XSSFilter/large-post-many-inline-scripts-and-events.html: Removed. |
| * XSSFilter/resources: Removed. |
| * XSSFilter/resources/target-for-large-post-many-inline-scripts-and-events.html: Removed. |
| |
| 2011-03-25 Leo Yang <leo.yang@torchmobile.com.cn> |
| |
| Reviewed by Dirk Schulze. |
| |
| SVG <use> element performance improvement |
| https://bugs.webkit.org/show_bug.cgi?id=57077 |
| |
| Add a manual test case which is from |
| http://upload.wikimedia.org/wikipedia/commons/4/4e/Sierpinski_carpet_6.svg |
| for svg <use> element performance test. |
| |
| * PageLoad/svg/files/Sierpinski_carpet_6.svg: Added. |
| * PageLoad/svg/svg.pltsuite: |
| |
| 2011-02-05 Eric Seidel <eric@webkit.org> |
| |
| Reviewed by Adam Barth. |
| |
| Add performance tests for URL parsing |
| https://bugs.webkit.org/show_bug.cgi?id=53845 |
| |
| The final-url-en URL corpus is from: |
| http://corpus.leeds.ac.uk/internet.html |
| |
| There are also other language corpuses which we may want to use in the future. |
| |
| The usage instructions were as follows: |
| "URL lists and other resources: you can freely use them in your research |
| provided that you supply a link to this website: http://corpus.leeds.ac.uk/." |
| Done. |
| |
| * Parser/simple-url.html: Added. |
| On my machine: |
| Firefox: 255ms |
| TOT WebKit: 378ms |
| Chrome: 286ms |
| Opera: 2830ms (no, that is not a typo) |
| * Parser/url-parser.html: Added. |
| Firefox: 381ms |
| TOT WebKit: 216ms |
| Chrome: 131ms |
| Opera: 1383ms (again, not a typo) |
| * Parser/resources/final-url-en: Added. |
| |
| 2011-02-03 Adam Barth <abarth@webkit.org> |
| |
| Reviewed by Daniel Bates. |
| |
| Add another XSSFilter PerformanceTest |
| https://bugs.webkit.org/show_bug.cgi?id=53750 |
| |
| This PerformanceTest tests the case that was slow in |
| https://bugs.webkit.org/show_bug.cgi?id=49845 |
| |
| * XSSFilter/large-post-many-inline-scripts-and-events.html: Added. |
| * XSSFilter/resources: Added. |
| * XSSFilter/resources/target-for-large-post-many-inline-scripts-and-events.html: Added. |
| |
| 2011-02-03 Adam Barth <abarth@webkit.org> |
| |
| Reviewed by Eric Seidel. |
| |
| Add PerformanceTest for XSSFilter |
| https://bugs.webkit.org/show_bug.cgi?id=53741 |
| |
| This performance tests covers the case of a large POST data and many |
| small event handlers. |
| |
| * XSSFilter: Added. |
| * XSSFilter/large-post-many-events.html: Added. |
| |
| 2011-02-02 Adam Barth <abarth@webkit.org> |
| |
| Rubber-stamped by Eric Seidel. |
| |
| Merge PerformanceTests/Parser/ChangeLog and |
| PerformanceTests/PageLoad/ChangeLog into PerformanceTests/ChangeLog. |
| |
| It's silly to have ChangeLogs for each of these directories separately. |
| I've left SunSpider with its own ChangeLog because it's more of an |
| independent entity. |
| |
| * ChangeLog: Added. |
| |
| 2011-02-02 Eric Seidel <eric@webkit.org> |
| |
| Unreviewed. Just fixing an exception seen in Firefox. |
| |
| HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40% |
| https://bugs.webkit.org/show_bug.cgi?id=48719 |
| |
| Make the benchmarks work in Firefox/Opera. |
| |
| * resources/runner.js: |
| (log): |
| |
| 2011-01-27 Eric Seidel <eric@webkit.org> |
| |
| Reviewed by Darin Adler. |
| |
| HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40% |
| https://bugs.webkit.org/show_bug.cgi?id=48719 |
| |
| It's unclear exactly what the Peacekeeper benchmark is testing, |
| because I haven't found a way to run it myself. |
| |
| However, I constructed a benchmark which shows at least one possible slow point. |
| The HTML5 spec talks about creating a new document for every time we use |
| the fragment parsing algorithm. Document() it turns out, it a huge bloated |
| mess, and the constructor and destructor do a huge amount of work. |
| |
| * benchmarks/parser/tiny-innerHTML.html: Added. |
| |
| 2011-01-29 Sheriff Bot <webkit.review.bot@gmail.com> |
| |
| Unreviewed, rolling out r77050. |
| http://trac.webkit.org/changeset/77050 |
| https://bugs.webkit.org/show_bug.cgi?id=53371 |
| |
| Caused a crash in Chromium's test_shell_tests (Requested by |
| rniwa on #webkit). |
| |
| * resources/performance-test.js: Removed. |
| * tiny-innerHTML.html: Removed. |
| |
| 2011-01-28 Eric Seidel <eric@webkit.org> |
| |
| Reviewed by Darin Adler. |
| |
| HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40% |
| https://bugs.webkit.org/show_bug.cgi?id=48719 |
| |
| It's unclear exactly what the Peacekeeper benchmark is testing, |
| because I haven't found a way to run it myself. |
| |
| However, I constructed a benchmark which shows at least one possible slow point. |
| The HTML5 spec talks about creating a new document for every time we use |
| the fragment parsing algorithm. Document() it turns out, it a huge bloated |
| mess, and the constructor and destructor do a huge amount of work. |
| To avoid constructing (or destructing) documents for each innerHTML call, |
| this patch adds a shared dummy document used by all innerHTML calls. |
| |
| * benchmarks/parser/tiny-innerHTML.html: Added. |
| |
| 2010-12-31 Adam Barth <abarth@webkit.org> |
| |
| Rubber-stamped by Eric Seidel. |
| |
| Move HTML and XML parser benchmarks into PerformanceTests/Parser |
| https://bugs.webkit.org/show_bug.cgi?id=51772 |
| |
| Add a ChangeLog for tracking changes to the Parser PerformanceTest. |
| |
| * ChangeLog: Added. |
| |
| 2010-12-31 Adam Barth <abarth@webkit.org> |
| |
| Rubber-stamped by Eric Seidel. |
| |
| Move PageLoadTests to PerformanceTests/PageLoad |
| https://bugs.webkit.org/show_bug.cgi?id=51771 |
| |
| Update URLs to point to the new directory name. |
| |
| * svg/svg.pltsuite: |
| |
| 2006-12-26 Eric Seidel <eric@webkit.org> |
| |
| Reviewed by olliej. |
| |
| * svg/svg.pltsuite: re-enable word-iso.svg after fixing http://bugs.webkit.org/show_bug.cgi?id=11987 |
| |
| 2006-12-26 Eric Seidel <eric@webkit.org> |
| |
| Reviewed by bradee-oh. |
| |
| Add new PageLoadTests directory (this one) |
| Add LICENSES file to explain where each SVG came from. |
| |
| * ChangeLog: Added. |
| * svg/LICENSES: Added. |
| * svg/files/33041-Samurai.svg: Added. |
| * svg/files/42470-flower_from_my_garden_v2.svg: Added. |
| * svg/files/Harvey_Rayner.svg: Added. |
| * svg/files/az-lizard_benji_park_01.svg: Added. |
| * svg/files/bamboo_01.svg: Added. |
| * svg/files/cacuts_01.svg: Added. |
| * svg/files/cowboy.svg: Added. |
| * svg/files/crawfish2_ganson.svg: Added. |
| * svg/files/deb9frac1.svg: Added. |
| * svg/files/food_leif_lodahl_01.svg: Added. |
| * svg/files/france.svg: Added. |
| * svg/files/francobollo_gnome_ezechi_02.svg: Added. |
| * svg/files/gearflowers.svg: Added. |
| * svg/files/hereGear4.svg: Added. |
| * svg/files/mtsthelens.svg: Added. |
| * svg/files/mtsthelens0.jpg: Added. |
| * svg/files/world-iso.svg: Added. |
| * svg/files/worldcup.svg: Added. |
| * svg/svg.pltsuite: Added. |
| |