array.find vs Map.get

Benchmark created on


Setup

const players = 'x'.repeat(1000).split('').map((_, index) => {return {id: index, name: 'P-'+index}})

const playersData = 'x'.repeat(1000).split('').map((_, index) => {return {id: index, data: 'P-DATA'+index}})

const payersDataMap = new Map(playersData.map((p) => {return [p.id, p]}))

Test runner

Ready to run.

Testing in
TestOps/sec
array.find
const playersWithData = players.map((p) => {
	const data = playersData.find((pd) => pd.id === p.id)
	return {...p, data}
})
ready
Map.get
const playersWithData = players.map((p) => {
	const data = payersDataMap.get(p.id)
	return {...p, data}
})
ready
Map.get with Map initialization
const payersDataMap = new Map(playersData.map((p) => {return [p.id, p]}))

const playersWithData = players.map((p) => {
	const data = payersDataMap.get(p.id)
	return {...p, data}
})
ready

Revisions

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