Loop performance tests

Traditional vs shortcut vs jQuery each, summing an Array.

by dhchow

JavaScript

var sample_size = 5e6;
var arr=[], sum, start, end;

// Setup the test array
var i = sample_size;
while(i--){
    arr.push(i);
}

sum = 0;
start = new Date().getTime();
for(var i=0; i<arr.length; i++){
   sum += arr[i];
}
end = new Date().getTime();

console.log("Traditional for: ", end - start, sum);

sum = 0;
start = new Date().getTime();
for(var i=arr.length; i--;){
   sum += arr[i];
}
end = new Date().getTime();

console.log("Shortcut for: ", end - start, sum);

sum = 0;
start = new Date().getTime();
var i = arr.length;
while(i--){
   sum += arr[i];
}
end = new Date().getTime();

console.log("While: ", end - start, sum);

sum = 0;
start = new Date().getTime();
$.each(arr, function(index, num){
   sum += num;
});
end = new Date().getTime();

console.log("jQuery each: ", end - start, sum);