Script Preparation code:
x
 
const myArr =[];
const myMap = new Map();
const myObj = {};
function getFromArr(key){
    return myArr.find(n=>n.id===key);
}
function getFromMap(key){
    return myMap.get(key);
}
function getFromObj(key){
    return myObj[key];
}
// PUPULATE DATA
const size = 25000;
let val, key;
for (let i=0;i<size;i++){
    key = `file_${i}`;
    val = Math.floor ((Math.random()*100000));
    myArr.push({
        id: `file_${i}`,
        value: val
    });
    myMap.set(key,val);
    myObj[key] = val;
}
const TEST_ITERATIONS = size;
function runPerfOnFunction(funcToPull, iterationCount, testName){
    for (let i=0;i<iterationCount;i++){
        let id = Math.floor ((Math.random()*size))
        key = `file_${id}`;
        funcToPull(key);
    }
}
Tests:
  • Array

     
    runPerfOnFunction(getFromArr, 25000, 'myArr Pull');
  • Object

     
    runPerfOnFunction(getFromObj, 25000, 'myObj Pull');
  • Map

     
    runPerfOnFunction(getFromMap, 25000, 'myMap Pull');
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Array
    Object
    Map

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 3 years ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36
Chrome 96 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
Array 0.7 Ops/sec
Object 125.4 Ops/sec
Map 130.3 Ops/sec