native forEach vs lodash (v5)

Revision 5 of this benchmark created on


Preparation HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.js"></script>

Setup

var length = 10000;
    var array = [];
    array.length = length;
    
    for (var i = 0; i < length; i++) {
      array[i] = i;
    }
    
    var forEach = function (array, callback) {
      var length = array.length;
      for (var i=0; i<length; i++) {
        callback(array[i], i, array);
      }
    };

Test runner

Ready to run.

Testing in
TestOps/sec
native
// we're basically doing a reduce, but testing forEach specifically
var sum = 0;

array.forEach(function(d) {
  sum += d;
});
ready
lodash
// we're basically doing a reduce, but testing forEach specifically
var sum = 0;

_.forEach(array, function(d) {
  sum += d;
});
ready
for loop
var sum = 0

for(var i=0 ; i<array.length; i++){
  sum+=array[i];
}
ready
while loop
var sum = 0;
var i = 0;

while(++i < array.length){
 sum+=array[i];
}
ready
naive forEach implementation
var sum = 0;

forEach(array, function(d) {
  sum += d;
});
ready
for in
var sum = 0

for(var i in array){
  sum+=array[i];
}
ready

Revisions

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