for(;;;) vs forEach vs $.each (v29)

Revision 29 of this benchmark created by Ray Baker on


Preparation HTML

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

Setup

var i,
        cachedFunc = function(i){ i / 2; };
    
    window.arr = [];
    
    for (i = 0; i < 10000; i += 1) {
      arr.push(i);
    }

Test runner

Ready to run.

Testing in
TestOps/sec
for(;;;)
var ii = 0, len = arr.length;

for (ii = 0; ii < len; ii += 1) {
  ii / 2;
}
ready
native forEach
arr.forEach(function (i) {
  i / 2;
});
ready
$.each
$.each(arr, function (i) {
  i / 2;
});
ready
native forEach (cached func)
arr.forEach(cachedFunc);
ready
$.each (cached func)
$.each(arr, cachedFunc);
ready
for(;;;) (self func)
var ii = 0, len = arr.length;

for (ii = 0; ii < len; ii += 1) {
  (function(i){ i / 2; }(ii));
}
ready
reverse for(;;;)
var ii, len = arr.length;

for (ii = len - 1; ii >= 0; ii--) {
  ii / 2;
}
ready
var ii = 0, len = arr.length;

for (; ii < len; ii += 1) {
  (function(i){ i / 2; }(ii));
}
ready

Revisions

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