for vs array-foreach

JavaScript performance comparison

Revision 12 of this test case created

Preparation code

 
<script>
Benchmark.prototype.setup = function() {
    var array = Array(1000).join('xxxxxxxx').split('');
   
    function callback(value, index, object) {
      return value;
    }
   
    Array.prototype.customForEach = function(fn, scope) {
      'use strict';
      var i, len;
      for (i = 0, len = this.length; i < len; ++i) {
        if (i in this) {
          fn.call(scope, this[i], i, this);
        }
      }
    }
};
</script>

Test runner

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

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
for-loop
var scope;
for (var index = 0, length = array.length; index < length; index++) {
  if (index in array) callback.call(scope, array[index], index, array);
}
pending…
Array#forEach
array.forEach(callback);
pending…
for-loop naive
for (var index = 0; index < array.length; index++) {
  callback.call(this, array[index], index, array);
}
pending…
customForEach
array.customForEach(callback);
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. Here’s a list of current revisions for this page:

0 comments

Add a comment