For loop comparison (v59)

Revision 59 of this benchmark created on


Setup

var arr = [0, 1, 2, 3, 4, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 7, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 5, 8, 9, 6, 7, 8, 9, 3, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9, 6, 5, 8, 9, 6, 7, 8, 9, 6, 7, 8, 9];
    
    //it adds
    var add = (function() {
      var add = function(adds) {
          if (!add.adds) {
            add.adds = adds;
          } 
          else {
            add.adds += adds;
          }
          return add;
      }
      add.add = add;
      return add;
    })()

Test runner

Ready to run.

Testing in
TestOps/sec
Fast for loop
var i = 0,
    l = arr.length,
    v = 5,
    c;
for (; i < l; i in arr && (c = arr[i += 1]) !== undefined) {
  add(22).add(22).add(22).add(22);
  if (c === v) {
    break;
  }
}
ready
Regular for loop
var i = 0,
    l = arr.length,
    v = 5;
for (; i < l; i += 1) {
  add(22).add(22).add(22).add(22);
  if (i in arr && arr[i] === v) {
    break;
  }
}
ready

Revisions

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