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 (X11; Linux x86_64; rv:131.0) Gecko/20100101 Firefox/131.0
Browser:
Firefox 131
Operating system:
Linux
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
small - ITERATE on filled object
384861.8 Ops/sec
big - ITERATE on filled object
11.5 Ops/sec
small - ITERATE on map
438547.9 Ops/sec
big - ITERATE on map
44.2 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; }