(fixed) for vs forEach vs while

JavaScript performance comparison

Revision 489 of this test case created by naak01

Preparation code

<script>
  var i, len, values = [],
      sum = 0;
  for (i = 0; i < 10000; i++) {
    values[i] = i;
  }

  function add(val) {
    sum += val;
  }
</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
forEach
values.forEach(add);
pending…
for loop, simple
var i;
for (i = 0; i < values.length; i++) add(values[i]);
pending…
for loop, cached length
var i, len = values.length;
for (i = 0; i < len; i++) add(values[i]);
pending…
for loop, cached length ++i
var i, len = values.length;
for (i = 0; i < len; ++i) add(values[i]);
pending…
for loop, reverse
var i;
for (i = values.length ; --i; ) add(values[i]);
pending…
while loop, reverse
var i = values.length;
while (i--) add(values[i]);
pending…
while loop, reverse --i
i = values.length;
while (--i>=0) add(values[i]);
pending…
while i++
var i = 0, len = values.length;
while (i++ < len) add(values[i]);
pending…
while ++i
var i = -1, len = values.length;
while (++i < len) add(values[i]);
pending…
for in
var i;
for (i in values) add(values[i]);
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