Timing arrays vs objects
by ryanwheale
HTML
<div id="output"></div>
JavaScript
jQuery(function($) {
var objs = [],
arrs = [],
startTime,
objTime, arrTime,
tmpName, tmpCoolness, tmpStrength,
out = "",
$output = $('#output'),
iterations = 1000000;
// populate with dummy data
for(var i = 0; i < iterations; i++) {
objs.push({name: "John Doe", coolness: 84, strength: 5});
arrs.push(["John Doe", 84, 5]);
}
startTime = new Date();
for(var i = 0; i < iterations; i++) {
tmpName = objs[i]["name"];
tmpCoolness = objs[i]["coolness"];
tmpStrength = objs[i]["strength"];
}
objTime = new Date();
for(var i = 0; i < iterations; i++) {
tmpName = arrs[i][0];
tmpCoolness = arrs[i][1];
tmpStrength = arrs[i][2];
}
arrTime = new Date();
out = 'Objects took ' + (objTime - startTime) + "<br />";
out += 'Arrays took ' + (arrTime - objTime);
$output.html(out);
});