haikuwebkit/PerformanceTests/Speedometer/InteractiveRunner.html

174 lines
5.9 KiB
HTML
Raw Permalink Normal View History

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: Canonical link: https://commits.webkit.org/139588@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@156073 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-09-19 00:15:35 +00:00
<!DOCTYPE html>
<html>
<head>
Update to Speedometer 2.0 w/updated frameworks + new workloads https://bugs.webkit.org/show_bug.cgi?id=170513 Patch by Addy Osmani <addyosmani@gmail.com> on 2017-05-16 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. Canonical link: https://commits.webkit.org/189115@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216946 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-05-16 21:16:51 +00:00
<title>Speedometer 2.0 Interactive Runner</title>
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. Canonical link: https://commits.webkit.org/144497@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-07 23:22:22 +00:00
<script src="resources/benchmark-runner.js" defer></script>
<script src="resources/tests.js" defer></script>
<style>
iframe { border: 1px solid black; }
ol { list-style: none; margin: 0; padding: 0; }
ol ol { margin-left: 2em; list-position: outside; }
.running { text-decoration: underline; }
.ran { color: grey; }
nav { position: absolute; right: 10px; height: 600px; }
nav > ol { height: 100%; overflow-y: scroll; }
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. Canonical link: https://commits.webkit.org/144497@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-07 23:22:22 +00:00
</style>
</head>
<body>
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: Canonical link: https://commits.webkit.org/139588@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@156073 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-09-19 00:15:35 +00:00
<script>
function formatTestName(suiteName, testName) {
return suiteName + (testName ? '/' + testName : '');
}
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: Canonical link: https://commits.webkit.org/139588@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@156073 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-09-19 00:15:35 +00:00
function createUIForSuites(suites, onstep, onrun) {
var control = document.createElement('nav');
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. Canonical link: https://commits.webkit.org/144497@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-07 23:22:22 +00:00
var ol = document.createElement('ol');
var checkboxes = [];
for (var suiteIndex = 0; suiteIndex < suites.length; suiteIndex++) {
var suite = suites[suiteIndex];
var li = document.createElement('li');
var checkbox = document.createElement('input');
checkbox.id = suite.name;
checkbox.type = 'checkbox';
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. Canonical link: https://commits.webkit.org/150769@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@168521 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-05-09 06:01:06 +00:00
checkbox.checked = !suite.disabled;
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. Canonical link: https://commits.webkit.org/144497@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-07 23:22:22 +00:00
checkbox.onchange = (function (suite, checkbox) { return function () { suite.disabled = !checkbox.checked; } })(suite, checkbox);
checkbox.onchange();
checkboxes.push(checkbox);
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: Canonical link: https://commits.webkit.org/139588@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@156073 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-09-19 00:15:35 +00:00
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. Canonical link: https://commits.webkit.org/144497@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-07 23:22:22 +00:00
li.appendChild(checkbox);
var label = document.createElement('label');
label.appendChild(document.createTextNode(formatTestName(suite.name)));
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. Canonical link: https://commits.webkit.org/144497@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-07 23:22:22 +00:00
li.appendChild(label);
label.htmlFor = checkbox.id;
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: Canonical link: https://commits.webkit.org/139588@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@156073 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-09-19 00:15:35 +00:00
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. Canonical link: https://commits.webkit.org/144497@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-07 23:22:22 +00:00
var testList = document.createElement('ol');
for (var testIndex = 0; testIndex < suite.tests.length; testIndex++) {
var testItem = document.createElement('li');
var test = suite.tests[testIndex];
var anchor = document.createElement('a');
anchor.id = suite.name + '-' + test.name;
test.anchor = anchor;
anchor.appendChild(document.createTextNode(formatTestName(suite.name, test.name)));
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. Canonical link: https://commits.webkit.org/144497@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-07 23:22:22 +00:00
testItem.appendChild(anchor);
testList.appendChild(testItem);
}
li.appendChild(testList);
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: Canonical link: https://commits.webkit.org/139588@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@156073 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-09-19 00:15:35 +00:00
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. Canonical link: https://commits.webkit.org/144497@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-07 23:22:22 +00:00
ol.appendChild(li);
}
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. Canonical link: https://commits.webkit.org/144497@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-07 23:22:22 +00:00
control.appendChild(ol);
var button = document.createElement('button');
button.textContent = 'Step';
button.onclick = onstep;
control.appendChild(button);
var button = document.createElement('button');
button.textContent = 'Run';
Update to Speedometer 2.0 w/updated frameworks + new workloads https://bugs.webkit.org/show_bug.cgi?id=170513 Patch by Addy Osmani <addyosmani@gmail.com> on 2017-05-16 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. Canonical link: https://commits.webkit.org/189115@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216946 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-05-16 21:16:51 +00:00
button.id = 'runSuites';
button.onclick = onrun;
control.appendChild(button);
var button = document.createElement('button');
button.textContent = 'Select all';
button.onclick = function () {
for (var suiteIndex = 0; suiteIndex < suites.length; suiteIndex++) {
suites[suiteIndex].disabled = false;
checkboxes[suiteIndex].checked = true;
}
};
control.appendChild(button);
var button = document.createElement('button');
button.textContent = 'Unselect all';
button.onclick = function () {
for (var suiteIndex = 0; suiteIndex < suites.length; suiteIndex++) {
suites[suiteIndex].disabled = true;
checkboxes[suiteIndex].checked = false;
}
};
control.appendChild(button);
return control;
}
Update to Speedometer 2.0 w/updated frameworks + new workloads https://bugs.webkit.org/show_bug.cgi?id=170513 Patch by Addy Osmani <addyosmani@gmail.com> on 2017-05-16 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. Canonical link: https://commits.webkit.org/189115@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216946 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-05-16 21:16:51 +00:00
var parseQueryString = (function (pairList) {
var pairs = {};
for (var i = 0; i < pairList.length; ++i) {
var keyValue = pairList[i].split('=', 2);
if (keyValue.length == 1)
pairs[keyValue[0]] = '';
else
pairs[keyValue[0]] = decodeURIComponent(keyValue[1].replace(/\+/g, ' '));
}
return pairs;
})(window.location.search.substr(1).split('&'));
function disableAllSuitesExcept(suiteName) {
Suites.forEach(function(element) {
if (element.name !== suiteName)
element.disabled = true;
});
}
function startTest() {
Update to Speedometer 2.0 w/updated frameworks + new workloads https://bugs.webkit.org/show_bug.cgi?id=170513 Patch by Addy Osmani <addyosmani@gmail.com> on 2017-05-16 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. Canonical link: https://commits.webkit.org/189115@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216946 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-05-16 21:16:51 +00:00
var queryParam = parseQueryString['suite'];
if (queryParam !== undefined)
disableAllSuitesExcept(queryParam);
var runner = new BenchmarkRunner(Suites, {
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. Canonical link: https://commits.webkit.org/144497@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-07 23:22:22 +00:00
willRunTest: function (suite, test) {
test.anchor.classList.add('running');
},
didRunTest: function (suite, test) {
var classList = test.anchor.classList;
classList.remove('running');
classList.add('ran');
},
didRunSuites: function (measuredValues) {
var results = '';
Make DoYouEvenBench runnable by run-perf-tests https://bugs.webkit.org/show_bug.cgi?id=127030 Reviewed by Andreas Kling. PerformanceTests: 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. Tools: Ignore console messages spit out by DoYouEvenBench and support aggregator names such as ":Total" to appear at the end of a test name. We don't do anything with it for now. * Scripts/webkitpy/performance_tests/perftest.py: (PerfTest._metrics_regex): Handle aggregator names such as ":Total". We'll pass it down to the JSON in a follow up patch for the perf dashboard. (PerfTest._lines_to_ignore_in_parser_result): Added lines to ignore for DoYouEvenBench. LayoutTests: Use customIterationCount as it has been renamed from dromaeoIterationCount. * fast/harness/perftests/runs-per-second-iterations.html: Canonical link: https://commits.webkit.org/145035@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162058 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-15 08:01:52 +00:00
for (var suiteName in measuredValues.tests) {
var suiteResults = measuredValues.tests[suiteName];
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. Canonical link: https://commits.webkit.org/144497@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-07 23:22:22 +00:00
for (var testName in suiteResults.tests) {
var testResults = suiteResults.tests[testName];
Make DoYouEvenBench runnable by run-perf-tests https://bugs.webkit.org/show_bug.cgi?id=127030 Reviewed by Andreas Kling. PerformanceTests: 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. Tools: Ignore console messages spit out by DoYouEvenBench and support aggregator names such as ":Total" to appear at the end of a test name. We don't do anything with it for now. * Scripts/webkitpy/performance_tests/perftest.py: (PerfTest._metrics_regex): Handle aggregator names such as ":Total". We'll pass it down to the JSON in a follow up patch for the perf dashboard. (PerfTest._lines_to_ignore_in_parser_result): Added lines to ignore for DoYouEvenBench. LayoutTests: Use customIterationCount as it has been renamed from dromaeoIterationCount. * fast/harness/perftests/runs-per-second-iterations.html: Canonical link: https://commits.webkit.org/145035@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162058 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-15 08:01:52 +00:00
for (var subtestName in testResults.tests) {
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. Canonical link: https://commits.webkit.org/144497@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-07 23:22:22 +00:00
results += suiteName + ' : ' + testName + ' : ' + subtestName
Make DoYouEvenBench runnable by run-perf-tests https://bugs.webkit.org/show_bug.cgi?id=127030 Reviewed by Andreas Kling. PerformanceTests: 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. Tools: Ignore console messages spit out by DoYouEvenBench and support aggregator names such as ":Total" to appear at the end of a test name. We don't do anything with it for now. * Scripts/webkitpy/performance_tests/perftest.py: (PerfTest._metrics_regex): Handle aggregator names such as ":Total". We'll pass it down to the JSON in a follow up patch for the perf dashboard. (PerfTest._lines_to_ignore_in_parser_result): Added lines to ignore for DoYouEvenBench. LayoutTests: Use customIterationCount as it has been renamed from dromaeoIterationCount. * fast/harness/perftests/runs-per-second-iterations.html: Canonical link: https://commits.webkit.org/145035@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162058 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-15 08:01:52 +00:00
+ ': ' + testResults.tests[subtestName] + ' ms\n';
}
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. Canonical link: https://commits.webkit.org/144497@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-07 23:22:22 +00:00
}
results += suiteName + ' : ' + suiteResults.total + ' ms\n';
}
results += 'Arithmetic Mean : ' + measuredValues.mean + ' ms\n';
Compute the final score using geometric mean in Speedometer 2.0 https://bugs.webkit.org/show_bug.cgi?id=172968 Reviewed by Saam Barati. Make Speedometer 2.0 use the geometric mean of the subtotal of each test suite instead of the total.. In Speedometer 1.0, we used the total time to compute the final score because we wanted to make the slowest framework and library faster. The fastest suite (FlightJS) still accounted for ~6% and the slowest case (React) accounted for ~25% so we felt the total time, or the arithmetic mean with a constant factor, was a good metric to track. In the latest version of Speedometer 2.0, however, the fastest suite (Preact) runs in ~55ms whereas the slowest suite (Inferno) takes 1.5s on Safari. Since the total time is 6.5s, Preact's suite only accounts for ~0.8% of the total score while Inferno's suite accounts for ~23% of the total score. Since the goal of Speedometer is to approximate different kinds of DOM API use patterns on the Web, we want each framework & library to have some measurement impact on the overall benchmark score. Furthermore, after r221205, we're testing both debug build of Ember.js as well as release build. Since debug build is 4x slower, using the total time or the arithmetic mean thereof will effectively give 4x as much weight to debug build of Ember.js relative to release build of Ember.js. Given only ~5% of websites that deploy Ember.js use debug build, this weighting is clearly not right. This patch, therefore, replaces the arithmetic mean by the geometric mean to compute the final score. It also moves the code to compute the final score to BenchmarkRunner to be shared between main.js and InteractiveRunner.html. * Speedometer/InteractiveRunner.html: (.didRunSuites): Show geometric mean, arithmetic mean, total, as well as the score for completeness since this is a debugging page for developers. * Speedometer/resources/benchmark-runner.js: (BenchmarkRunner.prototype.step): Added mean, geomean, and score as measuredValues' properties. (BenchmarkRunner.prototype._runTestAndRecordResults): Removed the dead code. (BenchmarkRunner.prototype._finalize): Compute and add total, arithmetic mean (just mean in the code), and geometric mean (geomean) to measuredValues. * Speedometer/resources/main.js: (window.benchmarkClient): Replaced testsCount by stepsCount and _timeValues by _measuredValuesList. (window.benchmarkClient.willRunTest): (window.benchmarkClient.didRunTest): (window.benchmarkClient.didRunSuites): Store measuredValues object instead of just the total time. (window.benchmarkClient.didFinishLastIteration): (window.benchmarkClient._computeResults): (window.benchmarkClient._computeResults.valueForUnit): Renamed from totalTimeInDisplayUnit. Now simply retrieves the values computed by BenchmarkRunner's_finalize. (startBenchmark): (computeScore): Deleted. Canonical link: https://commits.webkit.org/193020@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221659 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-09-06 02:37:41 +00:00
results += 'Geometric Mean : ' + measuredValues.geomean + ' ms\n';
Make DoYouEvenBench runnable by run-perf-tests https://bugs.webkit.org/show_bug.cgi?id=127030 Reviewed by Andreas Kling. PerformanceTests: 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. Tools: Ignore console messages spit out by DoYouEvenBench and support aggregator names such as ":Total" to appear at the end of a test name. We don't do anything with it for now. * Scripts/webkitpy/performance_tests/perftest.py: (PerfTest._metrics_regex): Handle aggregator names such as ":Total". We'll pass it down to the JSON in a follow up patch for the perf dashboard. (PerfTest._lines_to_ignore_in_parser_result): Added lines to ignore for DoYouEvenBench. LayoutTests: Use customIterationCount as it has been renamed from dromaeoIterationCount. * fast/harness/perftests/runs-per-second-iterations.html: Canonical link: https://commits.webkit.org/145035@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162058 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-15 08:01:52 +00:00
results += 'Total : ' + measuredValues.total + ' ms\n';
Compute the final score using geometric mean in Speedometer 2.0 https://bugs.webkit.org/show_bug.cgi?id=172968 Reviewed by Saam Barati. Make Speedometer 2.0 use the geometric mean of the subtotal of each test suite instead of the total.. In Speedometer 1.0, we used the total time to compute the final score because we wanted to make the slowest framework and library faster. The fastest suite (FlightJS) still accounted for ~6% and the slowest case (React) accounted for ~25% so we felt the total time, or the arithmetic mean with a constant factor, was a good metric to track. In the latest version of Speedometer 2.0, however, the fastest suite (Preact) runs in ~55ms whereas the slowest suite (Inferno) takes 1.5s on Safari. Since the total time is 6.5s, Preact's suite only accounts for ~0.8% of the total score while Inferno's suite accounts for ~23% of the total score. Since the goal of Speedometer is to approximate different kinds of DOM API use patterns on the Web, we want each framework & library to have some measurement impact on the overall benchmark score. Furthermore, after r221205, we're testing both debug build of Ember.js as well as release build. Since debug build is 4x slower, using the total time or the arithmetic mean thereof will effectively give 4x as much weight to debug build of Ember.js relative to release build of Ember.js. Given only ~5% of websites that deploy Ember.js use debug build, this weighting is clearly not right. This patch, therefore, replaces the arithmetic mean by the geometric mean to compute the final score. It also moves the code to compute the final score to BenchmarkRunner to be shared between main.js and InteractiveRunner.html. * Speedometer/InteractiveRunner.html: (.didRunSuites): Show geometric mean, arithmetic mean, total, as well as the score for completeness since this is a debugging page for developers. * Speedometer/resources/benchmark-runner.js: (BenchmarkRunner.prototype.step): Added mean, geomean, and score as measuredValues' properties. (BenchmarkRunner.prototype._runTestAndRecordResults): Removed the dead code. (BenchmarkRunner.prototype._finalize): Compute and add total, arithmetic mean (just mean in the code), and geometric mean (geomean) to measuredValues. * Speedometer/resources/main.js: (window.benchmarkClient): Replaced testsCount by stepsCount and _timeValues by _measuredValuesList. (window.benchmarkClient.willRunTest): (window.benchmarkClient.didRunTest): (window.benchmarkClient.didRunSuites): Store measuredValues object instead of just the total time. (window.benchmarkClient.didFinishLastIteration): (window.benchmarkClient._computeResults): (window.benchmarkClient._computeResults.valueForUnit): Renamed from totalTimeInDisplayUnit. Now simply retrieves the values computed by BenchmarkRunner's_finalize. (startBenchmark): (computeScore): Deleted. Canonical link: https://commits.webkit.org/193020@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221659 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-09-06 02:37:41 +00:00
results += 'Score : ' + measuredValues.score + ' rpm\n';
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. Canonical link: https://commits.webkit.org/144497@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-07 23:22:22 +00:00
if (!results)
return;
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. Canonical link: https://commits.webkit.org/144497@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-07 23:22:22 +00:00
var pre = document.createElement('pre');
document.body.appendChild(pre);
pre.textContent = results;
}
});
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. Canonical link: https://commits.webkit.org/139603@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@156088 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-09-19 08:07:48 +00:00
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. Canonical link: https://commits.webkit.org/144497@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-07 23:22:22 +00:00
var currentState = null;
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. Canonical link: https://commits.webkit.org/140428@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@156951 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-10-05 09:41:19 +00:00
// Don't call step while step is already executing.
document.body.appendChild(createUIForSuites(Suites,
function () { runner.step(currentState).then(function (state) { currentState = state; }); },
Make DoYouEvenBench runnable by run-perf-tests https://bugs.webkit.org/show_bug.cgi?id=127030 Reviewed by Andreas Kling. PerformanceTests: 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. Tools: Ignore console messages spit out by DoYouEvenBench and support aggregator names such as ":Total" to appear at the end of a test name. We don't do anything with it for now. * Scripts/webkitpy/performance_tests/perftest.py: (PerfTest._metrics_regex): Handle aggregator names such as ":Total". We'll pass it down to the JSON in a follow up patch for the perf dashboard. (PerfTest._lines_to_ignore_in_parser_result): Added lines to ignore for DoYouEvenBench. LayoutTests: Use customIterationCount as it has been renamed from dromaeoIterationCount. * fast/harness/perftests/runs-per-second-iterations.html: Canonical link: https://commits.webkit.org/145035@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162058 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-01-15 08:01:52 +00:00
function () { runner.runAllSteps(currentState); currentState = null; }));
Update to Speedometer 2.0 w/updated frameworks + new workloads https://bugs.webkit.org/show_bug.cgi?id=170513 Patch by Addy Osmani <addyosmani@gmail.com> on 2017-05-16 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. Canonical link: https://commits.webkit.org/189115@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216946 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-05-16 21:16:51 +00:00
if (parseQueryString['startAutomatically'] !== undefined)
document.getElementById('runSuites').click();
}
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: Canonical link: https://commits.webkit.org/139588@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@156073 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-09-19 00:15:35 +00:00
window.addEventListener('load', startTest);
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. Canonical link: https://commits.webkit.org/139930@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@156425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-09-25 22:18:52 +00:00
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: Canonical link: https://commits.webkit.org/139588@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@156073 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-09-19 00:15:35 +00:00
</script>
</body>
</html>