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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36
Browser:
Chrome 130
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
small - ITERATE on filled object
454211.7 Ops/sec
big - ITERATE on filled object
6.5 Ops/sec
small - ITERATE on map
2862654.8 Ops/sec
big - ITERATE on map
183.6 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; }