Test name | Executions per second |
---|---|
small - ITERATE on filled object | 523470.5 Ops/sec |
big - ITERATE on filled object | 4.9 Ops/sec |
small - ITERATE on map | 3238170.5 Ops/sec |
big - ITERATE on map | 186.5 Ops/sec |
var smallArray = Array.from(Array(100).keys());
var bigArray = Array.from(Array(1000000).keys());
var constructObjectByAppendingToIt = (arr) => {
const obj = {}
for (const index of arr) {
obj[index] = { someProp: index };
}
return obj
}
var smallFilledObject = constructObjectByAppendingToIt(smallArray);
var bigFilledObject = constructObjectByAppendingToIt(bigArray);
var smallMap = new Map(smallArray.map((index) => [index, { someProp: index }]));
var bigMap = new Map(bigArray.map((index) => [index, { someProp: index }]));
for (const [index, value] of Object.entries(smallFilledObject)) {
value.someProp ** 2;
}
for (const [index, value] of Object.entries(bigFilledObject)) {
value.someProp ** 2;
}
for (const [index, value] of smallMap) {
value.someProp ** 2;
}
for (const [index, value] of bigMap) {
value.someProp ** 2;
}