backbone issue 709

Benchmark created by wookiehangover on


Preparation HTML

<script src="//documentcloud.github.com/underscore/underscore.js">
</script>
<script>
  var models = [{ id: 1, name: 'foo1' }, { id: 2, name: 'foo2' }, { id: 3,
  name: 'foo3' }, { id: 4, name: 'foo4' }, { id: 5, name: 'foo5' }, { id: 6,
  name: 'foo6' }, { id: 7, name: 'foo7' }, { id: 8, name: 'foo8' }, { id: 9,
  name: 'foo9' }];

  var options = {};
  var _add = function() {};
  var _remove = function() {};
</script>

Setup

var models = [{
      id: 1,
      name: 'foo1'
    }, {
      id: 2,
      name: 'foo2'
    }, {
      id: 3,
      name: 'foo3'
    }, {
      id: 4,
      name: 'foo4'
    }, {
      id: 5,
      name: 'foo5'
    }, {
      id: 6,
      name: 'foo6'
    }, {
      id: 7,
      name: 'foo7'
    }, {
      id: 8,
      name: 'foo8'
    }, {
      id: 9,
      name: 'foo9'
    }];
    
    var _add = function() {};
    var _remove = function() {};

Test runner

Ready to run.

Testing in
TestOps/sec
0.5.3 add()
if (_.isArray(models)) {
  for (var i = 0, l = models.length; i < l; i++) {
    _add(models[i], options);
  }
}
ready
#709 proposed
_.each(_.flatten([models]), function(model) {
  _add(model, options);
});
ready
0.5.3 remove()
if (_.isArray(models)) {
  for (var i = 0, l = models.length; i < l; i++) {
    _remove(models[i], options);
  }
}
ready
#709 remove()
_.each(_.flatten([models]), function(model) {
  _remove(model, options);
});
ready

Revisions

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

  • Revision 1: published by wookiehangover on