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; rv:128.0) Gecko/20100101 Firefox/128.0
Browser:
Firefox 128
Operating system:
Mac OS X 10.15
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
map delete
32054444.0 Ops/sec
set remove
32540494.0 Ops/sec
add map
15384.6 Ops/sec
add set
19030.2 Ops/sec
has Map
23186.4 Ops/sec
has set
22411.8 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))