Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Set.has v.s Array.includes v2
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0
Browser:
Chrome 140
Operating system:
Windows
Device Platform:
Desktop
Date tested:
6 months ago
Test name
Executions per second
set
1162.9 Ops/sec
array
104.5 Ops/sec
Script Preparation code:
function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } function createRandomIntArray(maxLength) { const randomArray = []; for (let i = 0; i < maxLength; i++) { const randomInt = i; randomArray.push(i); } return randomArray; } function createTargetArray(maxLength, maxValue) { const randomArray = []; for (let i = 0; i < maxLength-1; i++) { const randomInt = i; randomArray.push(10001+i); } randomArray.push(maxValue); return randomArray; } var ids1 = createRandomIntArray(100); var ids2 = createRandomIntArray(1000); var ids3 = createRandomIntArray(10000); var target1 = createTargetArray(100, 99); var target2 = createTargetArray(1000, 999); var target3 = createTargetArray(10000, 9999);
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))