Native Loop Performance (v4)

Revision 4 of this benchmark created by molokoloco on


Description

Testing which method of looping through an array with 512 items is fastest.

Preparation HTML

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

Setup

// Populate the base array
    var arr = [];
    for (var i = 0; i < 512; i++) {
        arr[i] = i;
    }
       
    function someFn(i) {
        return i++;
    }

Test runner

Ready to run.

Testing in
TestOps/sec
for()
for (var i = 0; i < arr.length; i++) someFn(arr[i])
ready
for() caching length
for (var i = 0, length = arr.length; i < length; i++) someFn(arr[i])
ready
while() acting like for()
var i = 0;
while (i++ < arr.length) someFn(arr[i])
ready
while() acting like for(), caching length
var i = 0, length = arr.length;
while (i++ < length) someFn(arr[i])
ready
while() in decrement
var length = arr.length;
while (length--) someFn(arr[length])
ready
for() decrement
for (var i = arr.length - 1; i >= 0; i--) someFn(arr[i])
ready
for..in
for (var i in arr) someFn(arr[i])
ready
forEach
arr.forEach(someFn)
 
ready
$.each
$.each(arr, someFn)
ready

Revisions

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