Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
iterating from a filled object VS iterating from a map
Comparing the overall performance when iterating on an object VS when iterating on a map
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36
Browser:
Chrome 145
Operating system:
Windows
Device Platform:
Desktop
Date tested:
one month ago
Test name
Executions per second
small - ITERATE on filled object
575417.8 Ops/sec
big - ITERATE on filled object
8.5 Ops/sec
small - ITERATE on map
2815521.5 Ops/sec
big - ITERATE on map
206.9 Ops/sec
Script Preparation code:
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 }]));
Tests:
small - ITERATE on filled object
for (const [index, value] of Object.entries(smallFilledObject)) { value.someProp ** 2; }
big - ITERATE on filled object
for (const [index, value] of Object.entries(bigFilledObject)) { value.someProp ** 2; }
small - ITERATE on map
for (const [index, value] of smallMap) { value.someProp ** 2; }
big - ITERATE on map
for (const [index, value] of bigMap) { value.someProp ** 2; }