JS: For loop vs Array.indexOf (v237)

Revision 237 of this benchmark created by brainopia on


Description

Testing speed of a standard for loop vs. Array.indexOf vs. inverse for loop vs. while loop vs. for with cached length.

Checking for 500000 in a 1000000 index array for equal opportunity inverse.

Preparation HTML

<script>
  var ar1 = [],
      ar2 = Array();
  for (var i = 0; i < 100000; i++){
    ar1.push(i);
    ar2.push(i);
  }
  var elem = 50000;
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
For loop ar1
for (var i = 0; i < ar1.length; i++)
 if (ar1[i] === elem)
  break;
ready
while loop ar1
var i = 0, l = ar1.length;
while (i < l) {
 if (ar1[i] === elem)
  break;
 i++;
}
ready
while loop ar2
var i = 0, l = ar2.length;
while (i < l) {
 if (ar2[i] === elem)
  break;
 i++;
}
ready
For loop cached ar1
var l = ar1.length;
for (var i = 0; i < l; i++)
 if (ar1[i] === elem)
  break;
ready
For loop cached ar2
var l = ar2.length;
for (var i = 0; i < l; i++)
 if (ar2[i] === elem)
  break;
ready
For loop ar2
for (var i = 0; i < ar2.length; i++)
 if (ar2[i] === elem)
  break;
ready

Revisions

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