array vs object (v26)

Revision 26 of this benchmark created by Jorge del Casar on


Setup

var arr = [],
      i,
      obj = {};
    for (i = 0; i < 100; i = i + 1) {
      var item = {
        index: i
      };
      arr.push(item);
      obj[i] = item;
    }

Test runner

Ready to run.

Testing in
TestOps/sec
array
for (var x = 0; x < arr.length; x++) {
  i = arr[x].index;
}
ready
object
for (var x = 0; x < 100; x++) {
  i = obj[x].index;
}
ready
object unknown length
var keys = Object.keys(obj);
for (var x = 0; x < keys.length; x++) {
  i = obj[keys[x]].index;
}
ready
for in
for (var key in obj) {
  i = obj[key].index;
}
ready
array length cached
var x;
var max = arr.length;
for (x = 0; x < max; x++) {
  i = arr[x].index;
}
ready
array inverse
var x;
var len = arr.length;
for (x = len - 1; x >= 0; x--) {
  i = arr[x].index;
}
ready

Revisions

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