Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Set.has v.s Array.includes
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/123.0.0.0 Safari/537.36
Browser:
Chrome 123
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
set
368662.8 Ops/sec
array
1548060.1 Ops/sec
Script Preparation code:
function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } function createRandomIntArray(minLength, maxLength) { const length = getRandomInt(minLength, maxLength); const randomArray = []; for (let i = 0; i < length; i++) { const randomInt = i; randomArray.push(getRandomInt(0, maxLength)); } return randomArray; } const minLength = 1; const maxLength = 100; var ids1 = createRandomIntArray(minLength, maxLength); var ids2 = createRandomIntArray(minLength, maxLength); var ids3 = createRandomIntArray(minLength, maxLength); var target1 = createRandomIntArray(1, 50); var target2 = createRandomIntArray(1, 50); var target3 = createRandomIntArray(1, 50);
Tests:
set
var idsSet1 = new Set(ids1) target1.some(id => idsSet1.has(id)) var idsSet2 = new Set(ids2) target2.some(id => idsSet2.has(id)) var idsSet3 = new Set(ids3) target3.some(id => idsSet3.has(id))
array
target1.some(id => ids1.includes(id)) target2.some(id => ids2.includes(id)) target3.some(id => ids3.includes(id))