Script Preparation code:
x
 
const randomMax = 100000000
const objectPoolSize = 100
const objectsToFind = 10
const getRandomNumber = (max) => {
  return Math.floor(Math.random() * max);
}
class TestObject {
    constructor() {
        this.a = getRandomNumber(randomMax)
        this.b = 'Test String'
    }
}
var map = new Map()
var array = []
for (let i = 0; i < objectPoolSize; i++) {
    const testObject = new TestObject()
    map.set(testObject.a, testObject)
    array.push(testObject)
}
var objectIdsToFind = [];
for (let i = 0; i < objectsToFind; i++) {
  objectIdsToFind.push(array[getRandomNumber(array.length)].a)
}
Tests:
  • Array.find

     
    for (let i = 0; i < objectIdsToFind.length; i++) {
      array.find((val) => val.a === objectIdsToFind[i])
    }
  • Map.get

     
    for (let i = 0; i < objectIdsToFind.length; i++) {
      map.get(objectIdsToFind[i])
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Array.find
    Map.get

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 11 months ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:127.0) Gecko/20100101 Firefox/127.0
Firefox 127 on Windows
View result in a separate tab
Test name Executions per second
Array.find 1723915.9 Ops/sec
Map.get 124503136.0 Ops/sec