Map vs Obj

Benchmark created on


Setup

const dataMap = new Map()
const dataRecord = {}

const entries = Array.from({length: 10000}, (_, idx) => [String(idx), Math.random()])


const preSetMap = new Map(entries)
const preSetRecord = Object.fromEntries(entries)

Test runner

Ready to run.

Testing in
TestOps/sec
Setting values: Map
for (const [key, value] of entries) {
	dataMap.set(key, value)
}
ready
Setting values: Record
for (const [key, value] of entries) {
	dataRecord[key] = value
}
ready
Accessing values: Map
let sum = 0

// iterating over entries array to remove iteration performance
for (const [key] of entries) {
	sum += preSetMap.get(key)
}
ready
Accessing values: Record
let sum = 0

// iterating over entries array to remove iteration performance
for (const [key] of entries) {
	sum += preSetRecord[key]
}
ready
Iterating over entries: Map
let sum = 0

preSetMap.entries().forEach(() => {
	sum +=1
})
ready
Iterating over entries: Record
let sum = 0

Object.entries(preSetRecord).forEach(() => {
	sum +=1
})
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.