Script Preparation code:
AخA
 
var data = Array.from(Array(10000).keys()).map(v => ({id: v, value: `val_${v}`}));
Tests:
  • Object.fromEntries

     
    Object.fromEntries(data.map(({id, value}) => [id, value]));
  • Reduce (reuse object)

     
    data.reduce((acc, {id, value}) => {
      acc[id] = value;
      return acc;
    }, {});
  • Reduce (creating temporary objects)

     
    data.reduce((acc, {id, value}) => ({
      ...acc,
      [id]: value
    }), {});
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Object.fromEntries
    Reduce (reuse object)
    Reduce (creating temporary objects)

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 years ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36
Chrome 100 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
Object.fromEntries 7323.4 Ops/sec
Reduce (reuse object) 10282.6 Ops/sec
Reduce (creating temporary objects) 101.3 Ops/sec