For/While Loop vs indexOf (v196)

Revision 196 of this benchmark created on


Preparation HTML

<script>
    var ar = [];
    
    function getRandomNumber() {
        'use strict';
        return Math.floor(Math.random() * 3000);
    }
    
    for (var i = 0; i < 3000; i++) {
        ar.push(getRandomNumber());
    }
    var arSmall = ar.slice(0, 40);
  
  
  function indexOfFor(ar,v){
    for (var i = 0,l=ar.length; i < l; i++) {
     if (ar[i] === v) {
        return i;
      }
    }
    return -1;
  }
  
  function indexOfWhile(ar,v){
    var i=0,a;
    while (a=ar[i++]) {
     if (a === v) {
        return i-1;
      }
    }
    return -1;
  }
  
  function indexOf(ar,v){
    return ar.indexOf(v);
  }
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
For Loop Big
var a = indexOfFor(ar, 3000);
ready
While Loop Big
var a = indexOfWhile(ar, 3000);
ready
indexOf Big
var a = indexOf(ar, 3000);
ready
For Loop Small
var a = indexOfFor(arSmall, 3000);
ready
While Loop Small
var a = indexOfWhile(arSmall, 3000);
ready
indexOf Small
var a = indexOf(arSmall, 3000);
ready

Revisions

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