JS: For loop vs Array.indexOf (v97)

Revision 97 of this benchmark created on


Description

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

Preparation HTML

<script>
  T = function(i) {
    this.i = i;
  };

  var ar = [];
  for (var i = 0; i < 1000; i++)
  ar[i] = new T(i);
  w1 = ar[250]
  w2 = ar[500]
  w3 = ar[750]

</script>

Test runner

Ready to run.

Testing in
TestOps/sec
For loop 1
for (var i = 0; i < ar.length; i++) {
  if (ar[i] === w1) {
    break;
  }
}
for (i = 0; i < ar.length; i++) {
  if (ar[i] === w2) {
    break;
  }
}
for (i = 0; i < ar.length; i++) {
  if (ar[i] === w3) {
    break;
  }
}
ready
for-loop 2
for (var i = 0, n = ar.length; i < n; i++) {
  if (ar[i] === w1) {
    break;
  }
}
for (i = 0, n = ar.length; i < n; i++) {
  if (ar[i] === w2) {
    break;
  }
}
for (i = 0, n = ar.length; i < n; i++) {
  if (ar[i] === w3) {
    break;
  }
}
ready
indexOf
var a = ar.indexOf(w1);
a = ar.indexOf(w2);
a = ar.indexOf(w3);
ready
for loop1 with ==
for (var i = 0; i < ar.length; i++) {
  if (ar[i] == w1) {
    break;
  }
}
for (i = 0; i < ar.length; i++) {
  if (ar[i] == w2) {
    break;
  }
}
for (i = 0; i < ar.length; i++) {
  if (ar[i] == w3) {
    break;
  }
}
ready
for loop 2 with ==
for (var i = 0, n = ar.length; i < n; i++) {
  if (ar[i] == w1) {
    break;
  }
}
for (i = 0, n = ar.length; i < n; i++) {
  if (ar[i] == w2) {
    break;
  }
}
for (i = 0, n = ar.length; i < n; i++) {
  if (ar[i] == w3) {
    break;
  }
}
ready

Revisions

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