Test name | Executions per second |
---|---|
Map lookup | 137.3 Ops/sec |
Array lookup | 7757.0 Ops/sec |
var map = new Map();
var arrLookup = [];
var items = [];
for (var i = 0; i < 100; i++) {
items[i] = [];
for (var j = 0; j < 100; j++) {
items[i][j] = [i,j];
if (Math.random() < 0.1) {
map.set(i+","+j, Math.random()>=0.5);
if (!arrLookup[i]) arrLookup[i] = [];
arrLookup[i][j] = Math.random()>=0.5;
}
}
}
var results = [], i, j;
for (i = 0; i < 100; i++) {
for (j = 0; j < 100; j++) {
if (map.has(items[i][j] +"")) results.push(map.get(items[i][j]+""));
}
}
if (results.length === 0) throw Error();
var results = [], i, j;
for (i = 0; i < 100; i++) {
for (j = 0; j < 100; j++) {
if (arrLookup[i] && typeof arrLookup[i][j] !== "undefined") results.push(arrLookup[i][j]);
}
}
if (results.length === 0) throw Error();