Events vs Events2

Benchmark created on


Preparation HTML

<script src='https://raw.github.com/documentcloud/underscore/master/underscore.js'></script>
<script src='https://raw.github.com/caseywebdev/backbone/events/backbone.js'></script>
<script>var one = Backbone.Events;</script>
<script src='https://raw.github.com/caseywebdev/backbone/events2/backbone.js'></script>
<script>var two = Backbone.Events;</script>

Setup

var obj1 = _.extend({}, one);
    var obj2 = _.extend({}, two);
    var i, l = 20;

Test runner

Ready to run.

Testing in
TestOps/sec
on/off (many events) - one
for (i = 0; i < l; ++i) {
  obj1.on('event', function () {});
  obj1.on('event2', function () {});
  obj1.on('event3', function () {});
}
obj1.off();
ready
on/off (many events) - two
for (i = 0; i < l; ++i) {
  obj2.on('event', function () {});
  obj2.on('event2', function () {});
  obj2.on('event3', function () {});
}
obj2.off();
ready
trigger (many events) - one
for (i = 0; i < l; ++i) {
  obj1.on('event'+i, function () {});
}
for (i = 0; i < l; ++i) {
  obj1.trigger('event'+i);
}
ready
trigger (many events) - two
for (i = 0; i < l; ++i) {
  obj2.on('event'+i, function () {});
}
for (i = 0; i < l; ++i) {
  obj2.trigger('event'+i);
}
ready
on/trigger/off (3 events) - one
obj1.on('event', function () {});
obj1.on('event2', function () {});
obj1.on('event3', function () {});
obj1.trigger('event', function () {});
obj1.trigger('event2', function () {});
obj1.trigger('event3', function () {});
obj1.off();
ready
on/trigger/off (3 events) - two
obj2.on('event', function () {});
obj2.on('event2', function () {});
obj2.on('event3', function () {});
obj2.trigger('event', function () {});
obj2.trigger('event2', function () {});
obj2.trigger('event3', function () {});
obj2.off();
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.