Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
unique set or object
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15
Browser:
Safari 17
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
Set
7685.0 Ops/sec
Object
59566.6 Ops/sec
Script Preparation code:
var a = new Array(10000).fill(0).map(() => Math.floor(Math.random() * 10000)); var b = new Array(10000).fill(0).map(() => Math.floor(Math.random() * 10000).toString(32));
Tests:
Set number
var u = [...new Set(a).keys()]
Object number
var u = Object.values(a.reduce( (res, k) => { res[k] ??= k; return res; },{} ));
object filter number
const f = new Set(); return a.filter((v) => (f.has(v) ? false : f.add(v)));
Set string
var u = [...new Set(b).keys()]
Object string
var u = Object.values(b.reduce( (res, k) => { res[k] ??= k; return res; },{} ));
object filter string
const f = new Set(); return b.filter((v) => (f.has(v) ? false : f.add(v)));