unique filter (v2)

Revision 2 of this benchmark created on


Preparation HTML

<script>
var sites = ['detmir','zoozavr','zoozavr_app'];
var sitesSetPrepared = new Set(sites);


var arr1 = ['detmir'];
var arr2 = ['zoozavr'];
var arr3 = ['zoozavr_app'];

var arr4 = ['detmir', 'zoozavr'];
var arr5 = ['detmir', 'zoozavr_app'];
var arr6 = ['zoozavr', 'detmir'];
var arr7 = ['zoozavr', 'zoozavr_app'];
var arr8 = ['zoozavr_app', 'detmir'];
var arr9 = ['zoozavr_app', 'zoozavr'];

var arr10 = ['detmir', 'zoozavr', 'zoozavr_app'];
var arr11 = ['detmir', 'zoozavr_app', 'zoozavr'];
var arr12 = ['zoozavr', 'detmir', 'zoozavr_app'];
var arr13 = ['zoozavr', 'zoozavr_app', 'detmir'];
var arr14 = ['zoozavr_app', 'detmir', 'zoozavr'];
var arr15 = ['zoozavr_app', 'zoozavr', 'detmir'];


function intersect(arr1, arr2) {
	return arr1.some((value) => arr2.includes(value));
	}
	
function intersectSet(set1, arr2) {
	return arr2.some((value) => set1.has(value));
	}	

function intersectTest() {
	intersect(sites, arr1);
	intersect(sites, arr2);
	intersect(sites, arr3);
	intersect(sites, arr4);
	intersect(sites, arr5);
	intersect(sites, arr6);
	intersect(sites, arr7);
	intersect(sites, arr8);
	intersect(sites, arr9);
	intersect(sites, arr10);
	intersect(sites, arr11);
	intersect(sites, arr12);
	intersect(sites, arr13);
	intersect(sites, arr14);
	intersect(sites, arr15);
} 

function intersectTestSet() {
	intersectSet(new Set(sites), arr1);
	intersectSet(new Set(sites), arr2);
	intersectSet(new Set(sites), arr3);
	intersectSet(new Set(sites), arr4);
	intersectSet(new Set(sites), arr5);
	intersectSet(new Set(sites), arr6);
	intersectSet(new Set(sites), arr7);
	intersectSet(new Set(sites), arr8);
	intersectSet(new Set(sites), arr9);
	intersectSet(new Set(sites), arr10);
	intersectSet(new Set(sites), arr11);
	intersectSet(new Set(sites), arr12);
	intersectSet(new Set(sites), arr13);
	intersectSet(new Set(sites), arr14);
	intersectSet(new Set(sites), arr15);
} 

function intersectTestSetConst() {
	const sitesSet = new Set(sites);
	intersectSet(sitesSet, arr1);
	intersectSet(sitesSet, arr2);
	intersectSet(sitesSet, arr3);
	intersectSet(sitesSet, arr4);
	intersectSet(sitesSet, arr5);
	intersectSet(sitesSet, arr6);
	intersectSet(sitesSet, arr7);
	intersectSet(sitesSet, arr8);
	intersectSet(sitesSet, arr9);
	intersectSet(sitesSet, arr10);
	intersectSet(sitesSet, arr11);
	intersectSet(sitesSet, arr12);
	intersectSet(sitesSet, arr13);
	intersectSet(sitesSet, arr14);
	intersectSet(sitesSet, arr15);
} 

function intersectTestSetPrepared() {
	intersectSet(sitesSetPrepared, arr1);
	intersectSet(sitesSetPrepared, arr2);
	intersectSet(sitesSetPrepared, arr3);
	intersectSet(sitesSetPrepared, arr4);
	intersectSet(sitesSetPrepared, arr5);
	intersectSet(sitesSetPrepared, arr6);
	intersectSet(sitesSetPrepared, arr7);
	intersectSet(sitesSetPrepared, arr8);
	intersectSet(sitesSetPrepared, arr9);
	intersectSet(sitesSetPrepared, arr10);
	intersectSet(sitesSetPrepared, arr11);
	intersectSet(sitesSetPrepared, arr12);
	intersectSet(sitesSetPrepared, arr13);
	intersectSet(sitesSetPrepared, arr14);
	intersectSet(sitesSetPrepared, arr15);
} 

</script>

Test runner

Ready to run.

Testing in
TestOps/sec
intersect array
intersectTest()
ready
intersect set test
intersectTestSet()
ready
intersect prepared set test
intersectTestSetConst()
ready
intersect prepared global set test
intersectTestSetPrepared()
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.