HTML Preparation code:
AخA
 
1
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
Script Preparation code:
 
var first = [...Array(100)].map(it => ~~(Math.random() * 1000));
var second = [...Array(20)].map(it => ~~(Math.random() * 1000));
Tests:
  • Javascript Set intersection

    x
     
    const firstSet = new Set(first);
    const secondSet = new Set(second);
    new Set([...firstSet].filter(item => secondSet.has(item)));
  • Lodash intersection

     
    _.intersection(first, second)
  • Javascript Array intersection

     
    first.filter(it => second.includes(it))
  • set2

     
    const setA = new Set(first);
    const setB = new Set(second);
    const _intersection = new Set()
      for (const elem of setB) {
        if (setA.has(elem)) {
          _intersection.add(elem)
        }
      }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Javascript Set intersection
    Lodash intersection
    Javascript Array intersection
    set2

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 years ago)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36
Chrome 107 on Linux
View result in a separate tab
Test name Executions per second
Javascript Set intersection 201123.2 Ops/sec
Lodash intersection 390625.8 Ops/sec
Javascript Array intersection 110109.0 Ops/sec
set2 270822.9 Ops/sec