Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
map vs obj filling and accessing (string as key)
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6 Safari/605.1.15
Browser:
Safari 18
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
3 months ago
Test name
Executions per second
Filling map
40.6 Ops/sec
Filling object
22.1 Ops/sec
Accessing map
54.9 Ops/sec
Accessing object
42.2 Ops/sec
Script Preparation code:
const data = new Array(1000000) .fill(1) .map((item) => "somekeeeey-" + String(Math.floor(Math.random() * 10000))) const map1 = new Map(); const map2 = {}
Tests:
Filling map
data.forEach((item) => { map1.set(item, { id: item, rand: Math.random() }); });
Filling object
data.forEach((item) => { map2[item] = { id: item, rand: Math.random() }; });
Accessing map
const aggr = [] data.forEach((item) => { aggr.push(map1.get(item)) });
Accessing object
const aggr = [] data.forEach((item) => { aggr.push(map2[item]); });