JS: For loop vs Array.indexOf (v79)

Revision 79 of this benchmark created on


Description

Testing speed of a standard for loop vs. Array.indexOf.

Preparation HTML

<script>
  var SIZE = 999;
  var sparseArray = [];
  var denseArray = [];
  for (var i = 0; i < SIZE; ++i) {
    var obj = {};
    sparseArray[i] = obj;
    denseArray.push(obj);
  }
</script>

Setup

Array.prototype.indexOfRef = function(ref) {
      for (var i = 0, _len = this.length; i < _len; ++i) {
        if (this[i] === ref) {
          return i;
        }
      }
      return -1;
    }

Test runner

Ready to run.

Testing in
TestOps/sec
sparse-for-loop
sparseArray.indexOfRef(sparseArray[SIZE - 1]);
ready
sparse-indexOf
sparseArray.indexOf(sparseArray[SIZE - 1]);
ready
dense-for-loop
denseArray.indexOfRef(denseArray[SIZE - 1]);
ready
dense-indexOf
denseArray.indexOf(denseArray[SIZE - 1]);
ready

Revisions

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