forEach vs for vs for..in vs while

JavaScript performance comparison

Revision 7 of this test case created by

Preparation code

<script>
var j, array = []
for(j=0; j<= 5000; j++){
array[j]= j;
}
var _foreach=function(array,callback){
var len = array.length;
for(var i=0; i< len; i++) callback(array[i],i);
};
var add = function(a, b) {return a + b};
</script>
    

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in CCBot 2.0.0 / Other 0.0.0
Test Ops/sec
for
var len = array.length,
  sum = 0;
for (var i = 0; i < len; i++) {
  sum++;
}
pending…
forEach
var sum = 0
array.forEach(function(v) {
  sum++;
});
pending…
for in
var sum = 0;
for (var i in array) {
  sum++;
}
pending…
for (2)
var i = 0,
  len = array.length,
  sum = 0;
for (i = 0; i++ < len;) {
  sum++;
}
pending…
while
var i = 0,
  len = array.length,
  sum = 0;
while (i++ < len) {
  sum++;
}
pending…
for (3)
var sum = 0;
for (var i = 0, len = array.length; i < len; i++) {
  sum++;
}
pending…
for with foreach function
var sum = 0;
_foreach(array, function(v) {
  sum++;
});
pending…
reduce
var sum = array.reduce(add, 0)
pending…
while2
var i = 0,
  len = array.length,
  sum = 0;
while (i < len) {
  sum++;
  i++;
}
pending…
for in 2
var sum = 0;
for (i in array) {
  sum++;
}
pending…
while--
var len = array.length,
  sum = 0;
while (len--) {
  sum++;
}
pending…

Compare results of other browsers

Revisions

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

0 Comments