Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Map v Object v Set v Array ALL base actions
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/131.0.0.0 Safari/537.36
Browser:
Chrome 131
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one year ago
set remove
91.0M/s
map delete
90.5M/s
has Map
722K/s
has set
711K/s
add set
104K/s
add map
82K/s
View exact numbers
Test name
Executions per second
✓
set remove
90,969,112 Ops/sec
map delete
90,548,776 Ops/sec
has Map
721,827 Ops/sec
has set
711,041 Ops/sec
add set
104,172 Ops/sec
add map
81,701 Ops/sec
Script Preparation code:
var map = new Map(); var set = new Set(); var obj = {}; var weakMap = new WeakMap(); var weakSet = new WeakSet(); const arr = Array.from({ length: 1000 }).map(v => Math.random() * 10000); var arrString = arr.map(v => String(v) ); var arrObj = arr.map(v => Object.create(Object.prototype, { [v]: {value: v} })); var arrSymbol = arr.map(v => { return Symbol({ [v]: v }) }); var mapPop = new Map(arrObj.map(v => [v, v])) var setPop = new Set(arrObj); var emptyMap = new Map(); var emptySet = new Set(); console.log(mapPop)
Tests:
map delete
mapPop.forEach(va => mapPop.delete(va))
set remove
setPop.forEach(va => setPop.delete(va))
add map
arrString.forEach(a => emptyMap.set(a, a))
add set
arrString.forEach(a => emptySet.add(a))
has Map
arrString.forEach(v => emptyMap.has(v))
has set
arrString.forEach(v => emptySet.has(v))