Test name | Executions per second |
---|---|
map | 69.7 Ops/sec |
array | 67.5 Ops/sec |
function setup() {
const randInt = (min, max) =>
Math.floor(Math.random() * (max - min + 1) + min);
const itemMap = {};
const itemArr = [];
for (let i = 0; i < 10000; i++) {
const item = {
id: randInt(0, 1000000),
value: `value-${randInt(0, 1000000)}`
};
itemArr.push(item);
itemMap[item.id] = item;
}
const itemIdsToGet = [itemArr[8002].id, itemArr[2423].id, itemArr[5322].id, itemArr[3].id, itemArr[7242].id]
return {
itemIdsToGet,
itemMap,
itemArr
}
}
const values = setup();
for (const itemIdToUpdate of values.itemIdsToGet) {
values.itemMap[itemIdToUpdate].value = 'updated'
}
const values = setup();
for (const itemIdToUpdate of values.itemIdsToGet) {
const index = values.itemArr.findIndex(x => x.id === itemIdToUpdate);
values.itemArr[index].value = 'updated';
}