Array Performance

JavaScript performance comparison

Revision 112 of this test case created by Andrew

Preparation code

<script>
  Benchmark.prototype.setup = function() {
    var a1 = [{id: 29938, name: 'name1'}, {id: 32994, name: 'name1'}];

    var a2 = [];
    a2[1000] = {id: 1000, name: 'name1'};
    a2[1001] = {id: 1001, name: 'name1'};
    a2[2000] = {id: 2000, name: 'name1'};
    a2[2001] = {id: 2001, name: 'name1'};
    a2[2002] = {id: 2002, name: 'name1'};
    a2[6000] = {id: 6000, name: 'name1'};

    var o = {};
    o['1000'] = {id: 1000, name: 'name1'};
    o['1001'] = {id: 1001, name: 'name1'};
    o['2000'] = {id: 2000, name: 'name1'};
    o['2001'] = {id: 2001, name: 'name1'};
    o['2002'] = {id: 2002, name: 'name1'};
    o['6000'] = {id: 6000, name: 'name1'};
  };
</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
Object by Key
var id = '2001';
var result = o[id];
pending…
Manual Array Lookup
var id = 2001;
for (var i = 0; i < a1.length; i++) {
  if (a1[i].id = id) result = a1[i];
}
pending…
Holey Array by Index
var id = 2001;
var result = a2[id];
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