Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
set includes vs array includes vs or, for two values
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0
Browser:
Firefox 132
Operating system:
Windows
Device Platform:
Desktop
Date tested:
one year ago
Set 3
12K/s
if 1
11K/s
Set 1
11K/s
Set 2
8K/s
if 3
6K/s
if 2
6K/s
Array 1
476/s
Array 2
418/s
Array 3
378/s
View exact numbers
Test name
Executions per second
✓
Set 3
11,531 Ops/sec
if 1
11,275 Ops/sec
Set 1
11,082 Ops/sec
Set 2
8,489 Ops/sec
if 3
6,370 Ops/sec
if 2
5,538 Ops/sec
Array 1
476 Ops/sec
Array 2
418 Ops/sec
Array 3
378 Ops/sec
Script Preparation code:
const valueArray = [1, 2]; const valueSet = new Set([1, 2]); const a = 1; const b = 2; const c = 3;
Tests:
Array 1
function array1() { valueArray.includes(1); } for (var i = 0; i < 1e5; ++i) { array1(); }
Array 2
function array2() { valueArray.includes(2); } for (var i = 0; i < 1e5; ++i) { array2(); }
Array 3
function array3() { valueArray.includes(3); } for (var i = 0; i < 1e5; ++i) { array3(); }
if 1
function if1() { if (a === a || a === b) {} } for (var i = 0; i < 1e5; ++i) { if1(); }
if 2
function if2() { if (b === a || b === b) {} } for (var i = 0; i < 1e5; ++i) { if2(); }
if 3
function if3() { if (c === a || c === b) {} } for (var i = 0; i < 1e5; ++i) { if3(); }
Set 1
function set1() { valueSet.has(1); } for (var i = 0; i < 1e5; ++i) { set1(); }
Set 2
function set2() { valueSet.has(2); } for (var i = 0; i < 1e5; ++i) { set2(); }
Set 3
function set3() { valueSet.has(1); } for (var i = 0; i < 1e5; ++i) { set3(); }
Inline Set 1
function inlineSet1() { new Set([1, 2]).has(1); } for (var i = 0; i < 1e5; ++i) { inlineSet1(); }
Inline set 2
function inlineSet2() { new Set([1, 2]).has(2); } for (var i = 0; i < 1e5; ++i) { inlineSet2(); }
Inline set 3
function inlineSet3() { new Set([1, 2]).has(3); } for (var i = 0; i < 1e5; ++i) { inlineSet3(); }
Inline const set 1
function inlineConstSet1() { const inlineValueConstSet1 = new Set([1, 2]); inlineValueConstSet1.has(1); } for (var i = 0; i < 1e5; ++i) { inlineConstSet1(); }
Inline const set 2
function inlineConstSet2() { const inlineValueConstSet2 = new Set([1, 2]); inlineValueConstSet2.has(2); } for (var i = 0; i < 1e5; ++i) { inlineConstSet2(); }
Inline const set 3
function inlineConstSet3() { const inlineValueConstSet3 = new Set([1, 2]); inlineValueConstSet3.has(3); } for (var i = 0; i < 1e5; ++i) { inlineConstSet3(); }