Fast Array Foreach (v118)

Revision 118 of this benchmark created by Ryan Graham on


Setup

// Populate the base array
      var arr = [];
      for (var i = 0; i < 1000; i++) {
        arr[i] = i + 1; // else arr[0] == 0, making the "for 2" test a no-op
      }
    
      function someFn(i) {
        return i * 3 * 8;
      }

Test runner

Ready to run.

Testing in
TestOps/sec
Array.ForEach
arr.forEach(function(item) {
  someFn(item);
})
ready
For (cached)
for (var i = 0, len = arr.length; i < len; i++) {
  someFn(arr[i]);
}
ready
For 2
for (var i = 0, len = arr.length, e; i < len, e = arr[i]; i++) {
  someFn(e);
}
ready
For (plain)
for (var i = 0; i < arr.length; i++) {
  someFn(arr[i]);
}
ready
In
for (var e in arr) {
  someFn(e);
}
ready

Revisions

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