JS: For loop vs Array.indexOf (v108)

Revision 108 of this benchmark created on


Description

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

Preparation HTML

<script>
  var ar = [{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},{a: "hello"}, {a: "hello"}, {a: "hello"},];
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
For loop
for (var i = 0; i < ar.length; i++) {
 if (ar[i].a === "hello") {
  
 }
}
ready
other for-loop
for (var i = 0, n = ar.length; i < n; i++) {
 if (ar[i].a === "hello") {
  
 }
}
ready
indexOf
var a = ar.indexOf({a: "hello"});
ready

Revisions

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