Array Performance (v49)

Revision 49 of this benchmark created by bluefireuoop on


Description

Manual array lookups vs. holey arrays.

Setup

var a1 = [];
    for(var i=0; i<32994;i++){
        a1.push({id: i, name: 'name1'});
    }

    var a2 = [];
    for(var i=0; i<32994;i++){
        var rd = Math.random()*65536 >> 0;        
        a2[rd]= {id: rd, name: 'name1'};
    }
    a2[29938]= {id: 29938, name: 'name1'};

    var o = {};
    for(var i=0; i<32994;i++){
        o[i]= {id: i, name: 'name1'};
    }

Test runner

Ready to run.

Testing in
TestOps/sec
Manual Array Lookup
var id = 29938;
for (var i = 0; i < a1.length; i++) {
  if (a1[i].id = id) {
    result = a1[i];
    break;
  }
}
ready
Holey Array by Index
var id = 29938;
var result = a2[id];
ready
Object by Key
var id = '29938';
var result = o[id];
ready
indexOf Array Lookup
var id = 29938;
result = a1[a1.indexOf(id)]
ready

Revisions

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