Test name | Executions per second |
---|---|
Array.find, 10 000 elements | 1624539.6 Ops/sec |
Map.get, 10 000 elements | 1634853.6 Ops/sec |
Array.find, 1 000 000 elements | 1606226.5 Ops/sec |
Map.get, 1 000 000 elements | 1720538.9 Ops/sec |
function getRandomElement(id) {
return {
id,
a: Math.random(),
b: Math.random(),
c: Math.random(),
}
}
function getArray(length) {
const result = [];
for (let i = 0; i < length; i++) {
result.push(getRandomElement(i))
}
return result;
}
function arrayToMap(array) {
return new Map(array.map(el => [el.id, el]));
}
function getRandomInt(max) {
return Math.floor(Math.random() * max);
}
array_small = getArray(3);
array_large = getArray(10);
map_small = arrayToMap(array_small);
map_large = arrayToMap(array_large);
const target = getRandomInt(2);
array_small.find(el => el.id === target);
const target = getRandomInt(2);
map_small.get(target);
const target = getRandomInt(9);
array_large.find(el => el.id === target);
const target = getRandomInt(9);
map_large.get(target)