Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
array diff (lodash difference / sets / includes) perf
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/145.0.0.0 Safari/537.36
Browser:
Chrome 145
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
14 days ago
Test name
Executions per second
with Sets
146849520.0 Ops/sec
with filter-includes
503.0 Ops/sec
lodash.difference
16472.0 Ops/sec
Script Preparation code:
function dec2hex (dec) { return dec < 10 ? '0' + String(dec) : dec.toString(16) } function generateId (len) { var arr = new Uint8Array((len || 40) / 2) window.crypto.getRandomValues(arr) return Array.from(arr, dec2hex).join('') } var a = [] var b = [] for( let i = 0; i < 1000; i++) { a[i] = generateId(16) b[i] = generateId(16) }
Tests:
with Sets
function diff(a, b) { const as = new Set(a); const bs = new Set(b); return Array.from(new Set([...as].filter(x => !bs.has(x)))); }
with filter-includes
const difference = a.filter(x => !b.includes(x));
lodash.difference
_.difference(a, b)