Fast Array Foreach (v230)

Revision 230 of this benchmark created on


Preparation HTML

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.6/angular.min.js"></script>

Setup

// Populate the base array
      var arr = [];
      for (var i = 0; i < 1000; i++) {
        arr[i] = i;
      }
    
      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 increase
for (var i = 0, len = arr.length; i < len; i++) {
  someFn(arr[i]);
}
ready
For decrease
for (var i = arr.length; i--;) {
  someFn(arr[i]);
}
ready
For decrease, with var
var len = arr.length;
for (var i = len; i--;) {
  someFn(arr[i]);
}
ready
While decrease
var i = arr.length;
while (i--) {
   someFn(arr[i]);
}
ready
while method
function myWhileMethod(array_attr, callback_attr) {

var i = array_attr.length;
while (i--) {
   callback_attr(array_attr[i]);
}

}

myWhileMethod(arr, someFn)
ready
array.map
arr.map(function (item){
  someFn(item);
})
ready
angular.forEach
angular.forEach(arr, function(item) {
someFn(item);
})
ready
for method
function myForMethod(array_attr, callback_attr) {


for (var i = array_attr.length; i--;) {
  callback_attr(array_attr[i]);
}

}

myForMethod(arr, someFn)
ready
For method increase
function myForMethod(array_attr, callback_attr) {

for (var i = 0, len = arr.length; i < len; i++) {
   callback_attr(array_attr[i]);
}

}

myForMethod(arr, someFn)
ready

Revisions

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