Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
lodash xor performance with multiple arrays
Searching for faster solution for _.xor(a, b)
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/134.0.0.0 Safari/537.36
Browser:
Chrome 134
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
lodash xor
346.1 Ops/sec
with Sets
1307.7 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 = [] var c = [] var d = [] var e = [] var f = [] var g = [] for( let i = 0; i < 1000; i++) { a[i] = generateId(16) b[i] = generateId(16) c[i] = generateId(16) d[i] = generateId(16) e[i] = generateId(16) f[i] = generateId(16) g[i] = generateId(16) }
Tests:
lodash xor
const res = _.xor(a, b, c, d, e, f, g)
with Sets
function xor(...arrays) { const allItems = new Map(); arrays.forEach(array => { const localSet = new Set(array); localSet.forEach(item => { const count = allItems.get(item) || 0; allItems.set(item, count + 1); }); }); return Array.from(allItems.entries()) .filter(([item, count]) => count === 1) .map(([item]) => item); } const res = xor(a, b, c, d, e, f, g)