Fastest array loops in Javascript (v504)

Revision 504 of this benchmark created by Lasse on


Setup

var arr = [];
  var arr2 = [];
  for (var i = 0; i < 1000; i++) arr[i] = i;
  
  function someFn(a) {
    arr2.push(a);
    return a * 5 + 1 / 3 * 8 + '234224';
  };

Test runner

Ready to run.

Testing in
TestOps/sec
For loop, basic
for (var i = 0; i < arr.length; i++) {
  someFn(arr[i]);
}
ready
For loop, basic, preinc
for (var i = 0; i < arr.length; ++i) {
  someFn(arr[i]);
}
ready
While loop, basic
var i = 0;
while (i < arr.length) {
  someFn(arr[i++]);
}
ready
For loop, cached
for (var i = 0, len = arr.length; i < len; i++) {
  someFn(arr[i]);
}
ready
For loop, dec
for (var i = arr.length - 1; i >= 0; i--) {
  someFn(arr[i]);
}
ready
Do-while loop, --i
var i = arr.length;
if (i) do {
  someFn(arr[--i]);
} while (i);
ready
shift()
while (arr.length) {
  someFn(arr.shift());
}
ready
pop()
while (arr.length) {
  someFn(arr.pop());
}
ready
forEach
arr.forEach(function (v) {
  someFn(v)
})
ready
forEach direct
arr.forEach(someFn);
ready

Revisions

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