haikuwebkit/PerformanceTests/Speedometer/resources/benchmark-runner.js

300 lines
9.3 KiB
JavaScript
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
// FIXME: Use the real promise if available.
// FIXME: Make sure this interface is compatible with the real Promise.
function SimplePromise() {
this._chainedPromise = null;
this._callback = null;
}
SimplePromise.prototype.then = function (callback) {
if (this._callback)
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
throw "SimplePromise doesn't support multiple calls to then";
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
this._callback = callback;
this._chainedPromise = new SimplePromise;
if (this._resolved)
this.resolve(this._resolvedValue);
return this._chainedPromise;
}
SimplePromise.prototype.resolve = function (value) {
if (!this._callback) {
this._resolved = true;
this._resolvedValue = value;
return;
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
}
var result = this._callback(value);
if (result instanceof SimplePromise) {
var chainedPromise = this._chainedPromise;
result.then(function (result) { chainedPromise.resolve(result); });
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
} else
this._chainedPromise.resolve(result);
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
function BenchmarkTestStep(testName, testFunction) {
this.name = testName;
this.run = testFunction;
}
function BenchmarkRunner(suites, client) {
this._suites = suites;
this._prepareReturnValue = null;
this._client = client;
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
}
BenchmarkRunner.prototype.waitForElement = function (selector) {
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
var promise = new SimplePromise;
var contentDocument = this._frame.contentDocument;
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 resolveIfReady() {
var element = contentDocument.querySelector(selector);
if (element)
return promise.resolve(element);
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
setTimeout(resolveIfReady, 50);
}
resolveIfReady();
return promise;
}
BenchmarkRunner.prototype._removeFrame = function () {
if (this._frame) {
this._frame.parentNode.removeChild(this._frame);
this._frame = null;
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
}
}
BenchmarkRunner.prototype._appendFrame = function (src) {
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
var frame = document.createElement('iframe');
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
frame.style.width = '800px';
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
frame.style.height = '600px';
frame.style.border = '0px none';
frame.style.position = 'absolute';
frame.setAttribute('scrolling', 'no');
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
var marginLeft = parseInt(getComputedStyle(document.body).marginLeft);
var marginTop = parseInt(getComputedStyle(document.body).marginTop);
if (window.innerWidth > 800 + marginLeft && window.innerHeight > 600 + marginTop) {
frame.style.left = marginLeft + 'px';
frame.style.top = marginTop + 'px';
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
} else {
frame.style.left = '0px';
frame.style.top = '0px';
}
Rename DoYouEvenBench 0.17 to Speedometer 1.0 and add a new look. https://bugs.webkit.org/show_bug.cgi?id=133455 Reviewed by Timothy Hatcher. Renamed the benchmark to Speedometer and added the new look designed by Timothy Hatcher. Also changed the unit of measurements from milliseconds to runs-per-minute averaged over the number of the benchmark suites (7 for 1.0). You can divide 420000 by the old benchmark score (in milliseconds) to get the new value for the set of tests that are enabled by default in 1.0. You can continue to see results in milliseconds on Full.html#ms. * DoYouEvenBench/Full.html: Added a bunch of sections and the description of the benchmark. * DoYouEvenBench/resources/benchmark-report.js: Remove the newly added content when ran inside a DRT or WTR so that run-perf-tests wouldn't error. * DoYouEvenBench/resources/benchmark-runner.js: (BenchmarkRunner.prototype._appendFrame): Call a newly added willAddTestFrame callback when it exists. * DoYouEvenBench/resources/gauge.png: Added. * DoYouEvenBench/resources/gauge@2x.png: Added. * DoYouEvenBench/resources/logo.png: Added. * DoYouEvenBench/resources/logo@2x.png: Added. * DoYouEvenBench/resources/main.css: Replaced the style. * DoYouEvenBench/resources/main.js: (window.benchmarkClient.willAddTestFrame): Place the iframe right where #testContainer is shown. (window.benchmarkClient.willRunTest): Show the name of the suite (e.g. EmberJS-TodoMVC) to run next. (window.benchmarkClient.didRunSuites): (window.benchmarkClient.willStartFirstIteration): Initialize _timeValues and _finishedTestCount now that we have an UI to run the benchmark multiple times without reloading the page. (window.benchmarkClient.didFinishLastIteration): Split into smaller pieces. (window.benchmarkClient._computeResults): Computes the mean and the statistics for the given time values, and also format them in a human readable form. (window.benchmarkClient._computeResults.totalTimeInDisplayUnit): Converts ms to runs/min. (window.benchmarkClient._computeResults.sigFigFromPercentDelta): Given a percentage error (e.g. 1%), returns the number of significant digits required for the mean. (window.benchmarkClient._computeResults.toSigFigPrecision): Calls toPrecision with the specified precision constrained to be at least the number of non-decimal digits and at most 6. (window.benchmarkClient._addDetailedResultsRow): Renamed from _addResult. It now takes the table to which to add a row and the iteration number. (window.benchmarkClient._updateGaugeNeedle): Added. Controls the angle of the speed indicator. (window.benchmarkClient._populateDetailedResults): Added. (window.benchmarkClient.prepareUI): Added. It adds an event listener to show a specified section when the push state of the document changes, and shows a warning sign when the view port size is too small. We do this inside a callback to avoid running it inside DRT / WTR. (startBenchmark): (showSection): Added. (startTest): Added. (showResultsSummary): Added. (showResultDetails): Added. (showAbout): Added. Canonical link: https://commits.webkit.org/151480@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@169540 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-06-02 19:57:39 +00:00
if (this._client && this._client.willAddTestFrame)
this._client.willAddTestFrame(frame);
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
document.body.insertBefore(frame, document.body.firstChild);
this._frame = frame;
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
return frame;
}
BenchmarkRunner.prototype._waitAndWarmUp = function () {
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
var startTime = Date.now();
function Fibonacci(n) {
if (Date.now() - startTime > 100)
return;
if (n <= 0)
return 0;
else if (n == 1)
return 1;
return Fibonacci(n - 2) + Fibonacci(n - 1);
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
}
var promise = new SimplePromise;
setTimeout(function () {
Fibonacci(100);
promise.resolve();
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
}, 200);
return promise;
}
BenchmarkRunner.prototype._writeMark = function(name) {
if (window.performance && window.performance.mark)
window.performance.mark(name);
}
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
// This function ought be as simple as possible. Don't even use SimplePromise.
BenchmarkRunner.prototype._runTest = function(suite, test, prepareReturnValue, callback)
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
{
var self = this;
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
var now = window.performance && window.performance.now ? function () { return window.performance.now(); } : Date.now;
var contentWindow = self._frame.contentWindow;
var contentDocument = self._frame.contentDocument;
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
self._writeMark(suite.name + '.' + test.name + '-start');
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
var startTime = now();
test.run(prepareReturnValue, contentWindow, contentDocument);
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
var endTime = now();
self._writeMark(suite.name + '.' + test.name + '-sync-end');
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
var syncTime = endTime - startTime;
var startTime = now();
setTimeout(function () {
Speedometer 2.0: Async time is not always capturing layout time https://bugs.webkit.org/show_bug.cgi?id=175871 Reviewed by Simon Fraser. Speedometer harness was designed to capture the time browser engine spends relayouting and repainting the content after DOM mutations this in its async time measurement, which is the time between each test case's code had finished running and when a newly scheduled 0s timer is fired immediately afterwards. It turns out that modern web browsers defer this reflow and repaint work until the next animation frame is requested. This results in Speedometer harness measuring reflow and repaint cost only sometimes depending on when each test case had finished running relative to the next frame request. While such a behavior makes sense and might be desirable for a modern browser engine, we would like to capture it in the async time for the purpose of Speedometer. Unfortunately, there isn't an interoperable API for browsers to report the total layout and repaint time, and relying on 16ms-granularity requestAnimationFrame is too coarse for Speedometer. This patch works around these limitations by manually forcing the layout in async time measurement by calling getBoundingClientRect() in iframe's document. Since the height of the document depends on the number of todo items, this should cause browser engines to do most if not all of the work needed to reflow the document at least for now. Note that even new async time doesn't always capture painting time but there isn't a good cross-browser mechanism to measure paint time in the granurality we need for Speedometer at the moment anyway. (Should such a mechanism exist, that could be a huge timing attack surface so it's probably best that we don't have one.) * Speedometer/resources/benchmark-runner.js: (BenchmarkRunner.prototype._runTest): Canonical link: https://commits.webkit.org/192560@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221106 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-08-23 21:40:41 +00:00
// Some browsers don't immediately update the layout for paint.
// Force the layout here to ensure we're measuring the layout time.
var height = self._frame.contentDocument.body.getBoundingClientRect().height;
var endTime = now();
Speedometer 2.0: Async time is not always capturing layout time https://bugs.webkit.org/show_bug.cgi?id=175871 Reviewed by Simon Fraser. Speedometer harness was designed to capture the time browser engine spends relayouting and repainting the content after DOM mutations this in its async time measurement, which is the time between each test case's code had finished running and when a newly scheduled 0s timer is fired immediately afterwards. It turns out that modern web browsers defer this reflow and repaint work until the next animation frame is requested. This results in Speedometer harness measuring reflow and repaint cost only sometimes depending on when each test case had finished running relative to the next frame request. While such a behavior makes sense and might be desirable for a modern browser engine, we would like to capture it in the async time for the purpose of Speedometer. Unfortunately, there isn't an interoperable API for browsers to report the total layout and repaint time, and relying on 16ms-granularity requestAnimationFrame is too coarse for Speedometer. This patch works around these limitations by manually forcing the layout in async time measurement by calling getBoundingClientRect() in iframe's document. Since the height of the document depends on the number of todo items, this should cause browser engines to do most if not all of the work needed to reflow the document at least for now. Note that even new async time doesn't always capture painting time but there isn't a good cross-browser mechanism to measure paint time in the granurality we need for Speedometer at the moment anyway. (Should such a mechanism exist, that could be a huge timing attack surface so it's probably best that we don't have one.) * Speedometer/resources/benchmark-runner.js: (BenchmarkRunner.prototype._runTest): Canonical link: https://commits.webkit.org/192560@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221106 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-08-23 21:40:41 +00:00
self._frame.contentWindow._unusedHeightValue = height; // Prevent dead code elimination.
self._writeMark(suite.name + '.' + test.name + '-async-end');
Speedometer 2.0: Async time is not always capturing layout time https://bugs.webkit.org/show_bug.cgi?id=175871 Reviewed by Simon Fraser. Speedometer harness was designed to capture the time browser engine spends relayouting and repainting the content after DOM mutations this in its async time measurement, which is the time between each test case's code had finished running and when a newly scheduled 0s timer is fired immediately afterwards. It turns out that modern web browsers defer this reflow and repaint work until the next animation frame is requested. This results in Speedometer harness measuring reflow and repaint cost only sometimes depending on when each test case had finished running relative to the next frame request. While such a behavior makes sense and might be desirable for a modern browser engine, we would like to capture it in the async time for the purpose of Speedometer. Unfortunately, there isn't an interoperable API for browsers to report the total layout and repaint time, and relying on 16ms-granularity requestAnimationFrame is too coarse for Speedometer. This patch works around these limitations by manually forcing the layout in async time measurement by calling getBoundingClientRect() in iframe's document. Since the height of the document depends on the number of todo items, this should cause browser engines to do most if not all of the work needed to reflow the document at least for now. Note that even new async time doesn't always capture painting time but there isn't a good cross-browser mechanism to measure paint time in the granurality we need for Speedometer at the moment anyway. (Should such a mechanism exist, that could be a huge timing attack surface so it's probably best that we don't have one.) * Speedometer/resources/benchmark-runner.js: (BenchmarkRunner.prototype._runTest): Canonical link: https://commits.webkit.org/192560@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221106 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-08-23 21:40:41 +00:00
callback(syncTime, endTime - startTime, height);
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
}, 0);
}
function BenchmarkState(suites) {
this._suites = suites;
this._suiteIndex = -1;
this._testIndex = 0;
this.next();
}
BenchmarkState.prototype.currentSuite = function() {
return this._suites[this._suiteIndex];
}
BenchmarkState.prototype.currentTest = function () {
var suite = this.currentSuite();
return suite ? suite.tests[this._testIndex] : null;
}
BenchmarkState.prototype.next = function () {
this._testIndex++;
var suite = this._suites[this._suiteIndex];
if (suite && this._testIndex < suite.tests.length)
return this;
this._testIndex = 0;
do {
this._suiteIndex++;
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
} while (this._suiteIndex < this._suites.length && this._suites[this._suiteIndex].disabled);
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
return this;
}
BenchmarkState.prototype.isFirstTest = function () {
return !this._testIndex;
}
BenchmarkState.prototype.prepareCurrentSuite = function (runner, frame) {
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
var suite = this.currentSuite();
var promise = new SimplePromise;
frame.onload = function () {
suite.prepare(runner, frame.contentWindow, frame.contentDocument).then(function (result) { promise.resolve(result); });
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
}
frame.src = 'resources/' + suite.url;
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
return promise;
}
BenchmarkRunner.prototype.step = function (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
if (!state) {
state = new BenchmarkState(this._suites);
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
this._measuredValues = {tests: {}, total: 0, mean: NaN, geomean: NaN, score: NaN};
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
}
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
var suite = state.currentSuite();
if (!suite) {
this._finalize();
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
var promise = new SimplePromise;
promise.resolve();
return promise;
}
if (state.isFirstTest()) {
this._removeFrame();
var self = this;
return state.prepareCurrentSuite(this, this._appendFrame()).then(function (prepareReturnValue) {
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
self._prepareReturnValue = prepareReturnValue;
return self._runTestAndRecordResults(state);
});
}
return this._runTestAndRecordResults(state);
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
}
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
BenchmarkRunner.prototype.runAllSteps = function (startingState) {
var nextCallee = this.runAllSteps.bind(this);
this.step(startingState).then(function (nextState) {
if (nextState)
nextCallee(nextState);
});
}
BenchmarkRunner.prototype.runMultipleIterations = function (iterationCount) {
var self = this;
var currentIteration = 0;
this._runNextIteration = function () {
currentIteration++;
if (currentIteration < iterationCount)
self.runAllSteps();
else if (this._client && this._client.didFinishLastIteration)
this._client.didFinishLastIteration();
}
if (this._client && this._client.willStartFirstIteration)
this._client.willStartFirstIteration(iterationCount);
self.runAllSteps();
}
BenchmarkRunner.prototype._runTestAndRecordResults = function (state) {
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
var promise = new SimplePromise;
var suite = state.currentSuite();
var test = state.currentTest();
if (this._client && this._client.willRunTest)
this._client.willRunTest(suite, test);
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 self = this;
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
setTimeout(function () {
self._runTest(suite, test, self._prepareReturnValue, function (syncTime, asyncTime) {
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
var suiteResults = self._measuredValues.tests[suite.name] || {tests:{}, total: 0};
var total = syncTime + asyncTime;
self._measuredValues.tests[suite.name] = suiteResults;
suiteResults.tests[test.name] = {tests: {'Sync': syncTime, 'Async': asyncTime}, total: total};
suiteResults.total += total;
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 (self._client && self._client.didRunTest)
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
self._client.didRunTest(suite, test);
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
state.next();
promise.resolve(state);
});
}, 0);
return promise;
}
BenchmarkRunner.prototype._finalize = function () {
this._removeFrame();
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
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
if (this._client && this._client.didRunSuites) {
var product = 1;
var values = [];
for (var suiteName in this._measuredValues.tests) {
var suiteTotal = this._measuredValues.tests[suiteName].total;
product *= suiteTotal;
values.push(suiteTotal);
}
values.sort(function (a, b) { return a - b }); // Avoid the loss of significance for the sum.
var total = values.reduce(function (a, b) { return a + b });
var geomean = Math.pow(product, 1 / values.length);
var correctionFactor = 3; // This factor makes the test score look reasonably fit within 0 to 140.
this._measuredValues.total = total;
this._measuredValues.mean = total / values.length;
this._measuredValues.geomean = geomean;
this._measuredValues.score = 60 * 1000 / geomean / correctionFactor;
this._client.didRunSuites(this._measuredValues);
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
}
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
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
if (this._runNextIteration)
this._runNextIteration();
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
}