Script Preparation code:
AخA
 
var array1 = Array.from({length: 40}, () => Math.floor(Math.random() * 140));
var array2 = Array.from({length: 20}, () => Math.floor(Math.random() * 140));
var setFromArray1 = new Set(array1)
var setFromArray2 = new Set(array2)
Tests:
  • Set.difference

     
    const setDiff = setFromArray1.difference(setFromArray2)
  • Array.filter

     
    const arrayFilter = array1.filter(value => array2.indexOf(value))
  • Array.filter with Set.has

     
    const arrayFilterWithSetHas = array1.filter(value => setFromArray2.has(value))
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Set.difference
    Array.filter
    Array.filter with Set.has

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 12 days ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36
Chrome 118 on Windows
View result in a separate tab
Test name Executions per second
Set.difference 0.0 Ops/sec
Array.filter 957967.7 Ops/sec
Array.filter with Set.has 2532799.8 Ops/sec