Add a not completely unrealistic DOM Benchmark
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 19 Sep 2013 00:15:35 +0000 (00:15 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 19 Sep 2013 00:15:35 +0000 (00:15 +0000)
commit6bfbd3172edf835c962ff7cebab77f64074fbac5
tree6f00e4b97a5da299e45380bc3aaa2cafc947e9cb
parentca4d99be37a96c65d2e76da0a504e8bb6eeb8d8f
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@156073 268f45cc-cd09-0410-ab3c-d52691b4dbfc
63 files changed:
PerformanceTests/ChangeLog
PerformanceTests/DoYouEvenBench/benchmark.html [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/benchmark.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/bower.json [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage/backbone.localStorage.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone/backbone.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/jquery/jquery.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.css [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/bg.png [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/underscore/underscore.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/index.html [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/js/app.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/js/collections/todos.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/js/models/todo.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/js/routers/router.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/app-view.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/todo-view.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/readme.md [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/bower.json [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter/localstorage_adapter.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/jquery/jquery.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/bg.png [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/index.html [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/js/app.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todo_controller.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todos_controller.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/js/libs/ember-data.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/store.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/todo.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/js/router.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/js/views/edit_todo_view.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/readme.md [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/test.html [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/jquery/bower.json [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/handlebars/handlebars.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/jquery/jquery.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.css [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/bg.png [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/jquery/css/app.css [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/jquery/index.html [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/jquery/js/app.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/jquery/readme.md [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/license.md [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/readme.md [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower.json [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.css [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/bg.png [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/index.html [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/app.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/controller.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/helpers.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/model.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/store.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/view.js [new file with mode: 0644]
PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/readme.md [new file with mode: 0644]
PerformanceTests/Skipped