Array Performance

JavaScript performance comparison

Revision 154 of this test case created by

Preparation code

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.min.js"></script>
<script>
  Benchmark.prototype.setup = function() {
    var a1 = [];
    for(var i = 0 ; i < 5000 ; i++)
    {
        a1[i] = {id: i, name: 'name1'};
    }


    var a2 = new Array(5000);
    a2[2993] = {id: 2993, name: 'name1'};
    a2[3299] = {id: 3299, name: 'name1'};

    var o = {};
    o['2993'] = {id: 2993, name: 'name1'};
    o['3299'] = {id: 3299, name: 'name1'};
  };
</script>
    

Preparation code output

<script> Benchmark.prototype.setup = function() { var a1 = []; for(var i = 0 ; i < 5000 ; i++) { a1[i] = {id: i, name: 'name1'}; } var a2 = new Array(5000); a2[2993] = {id: 2993, name: 'name1'}; a2[3299] = {id: 3299, name: 'name1'}; var o = {}; o['2993'] = {id: 2993, name: 'name1'}; o['3299'] = {id: 3299, 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
Manual Array Lookup
var id = '3299';
for (var i = 0; i < a1.length; i++) {
  if (a1[i].id === id) {
    result = a1[i];
    break;
  }
}
pending…
Holey Array by Index
var id = '3299';
var result = a2[id];
pending…
Object by Key
var id = '3299';
var result = o[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