Performance of Array vs. Object

JavaScript performance comparison

Revision 205 of this test case created by

Preparation code


      
      <script>
Benchmark.prototype.setup = function() {
  var arr = [],
      i,
      obj = {};
  for(i = 0; i < 10000; i += 1) {
      var o = {payload:i};
      arr.push(o);
      obj[''+i] = o;
  }
  

};
</script>

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in CCBot 2.0.0 / Other 0.0.0
Test Ops/sec
Array Performance
var sum = 0;
for (var x=0; x<10000; ++x) {
    sum += arr[x].payload
}
pending…
Object Performance
var sum = 0;
for (var x in obj) {
    sum += obj[x].payload;
}
pending…
Object Performance using known length
var sum = 0;
for (var x=0; x<10000; ++x) {
    sum += obj[x].payload
}
pending…
Using Object.keys()
var sum = 0;
var keys = Object.keys(obj);
for (var x=0; x<keys.length; ++x) {
    sum += obj[keys[x]].payload
}
pending…
Using Object.keys() wisely
var sum = 0;
var keys = Object.keys(obj);
for (var x=0, len = keys.length; x<len; ++x) {
    sum += obj[keys[x]].payload;
}
pending…
Array perfomance (string key)
pending…
Object Performance using known length (string key)
pending…

Compare results of other browsers

Revisions

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

0 Comments