Array Iteration - DESTRCUTION OKAY (v15)

Revision 15 of this benchmark created by raymond may jr on


Description

Compare iterating forward or backwards of an array

Setup

var arr = [];
    for (var i = 0; i < 10000; ++i) {
      arr.push(Math.random());
    }
    
    
    var func = function () {};

Test runner

Ready to run.

Testing in
TestOps/sec
forwards
for (var i = 0; i < arr.length; ++i) {
  func(arr[i]);
}
ready
backwards
for (var i = arr.length - 1; i >= 0; --i) {
  func(arr[i]);
}
ready
Hard Coded Forward
for (var i = 0; i < 10000; ++i) {
  func(arr[i]);
}
ready
Cached Forward Iteration
for(var i=0, c=arr.length; i<c; i++){
  func(arr[i]);
}
ready
cached forward 2
var c = arr.length
for(var i=0; i<c; i++){
  func(arr[i]);
}
ready
backwards while
var i = arr.length;
while (i--) {
  func(arr[i]);
}
ready
while length (shift - DESTRUCTIVE)
while (arr && arr.length) {
  func(arr.shift());
}
ready
while length 2 (shift, no sanity - DESTRUCTIVE)
while (arr.length) {
  func(arr.shift());
}
ready
Array.prototype.forEach
arr.forEach(func);
ready

Revisions

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