Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
set main methods SYMBOL/OBJ/STRING?NUMBER
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/126.0.0.0 Safari/537.36
Browser:
Chrome 126
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
SET number
4796.5 Ops/sec
SET string
5857.3 Ops/sec
SET obj
4911.1 Ops/sec
SET symbol
4826.1 Ops/sec
SET mixed
4787.6 Ops/sec
Script Preparation code:
var arr = Array.from({length: 1000}).map((_, i) => i); var arrNum = arr.map(v => Number(v)); var arrStr = arr.map(String); var arrObj = arr.map(v =>{return {[v]: v}}) var arrSymb = arr.map(Symbol) function func(a, b) { return 0.5 - Math.random(); } const arrMix = arr.toSorted(func); var arrRandom = [...arrNum.slice(0, 250), ...arrStr.slice(250, 500), ...arrObj.slice(500, 750), ...arrMix.slice(750, 1000).map(v => Symbol(v))].toSorted(func) var numberSet = new Set(); var stringSet = new Set(); var objSet = new Set(); var symbolSet = new Set(); var mixedSet = new Set();
Tests:
SET number
arrNum.forEach(v => stringSet.add(v)) arrNum.forEach(v => stringSet.has(v)) arrNum.forEach(v => stringSet.size) arrNum.forEach(v => stringSet.delete(v))
SET string
arrStr.forEach(v => numberSet.add(v)) arrStr.forEach(v => numberSet.has(v)) arrStr.forEach(v => numberSet.size) arrStr.forEach(v => numberSet.delete(v))
SET obj
arrObj.forEach(v => objSet.add(v)) arrObj.forEach(v => objSet.has(v)) arrObj.forEach(v => objSet.size) arrObj.forEach(v => objSet.delete(v))
SET symbol
arrSymb.forEach(v => symbolSet.add(v)) arrSymb.forEach(v => symbolSet.has(v)) arrSymb.forEach(v => symbolSet.size) arrSymb.forEach(v => symbolSet.delete(v))
SET mixed
arrRandom.forEach(r => mixedSet.add(r)) arrRandom.forEach(r => mixedSet.has(r)) arrRandom.forEach(r => mixedSet.size) arrRandom.forEach(r => mixedSet.delete(r))