Script Preparation code:
AخA
 
var numbers = Array(1000).fill(null).map((x, i) => i.toString());
Tests:
  • Reflect.set

     
    numbers.reduce((acc, n) => Reflect.set(acc, n, n) && acc, {});
  • Object.assign

     
    numbers.reduce((acc, n) => Object.assign(acc, { [n]: n }), {});
  • Direct assignment

     
    numbers.reduce((acc, n) => { acc[n] = n; return acc }, {});
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Reflect.set
    Object.assign
    Direct assignment

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 13 days ago)
Mozilla/5.0 (X11; Linux x86_64; rv:137.0) Gecko/20100101 Firefox/137.0
Firefox 137 on Linux
View result in a separate tab
Test name Executions per second
Reflect.set 13172.8 Ops/sec
Object.assign 885.1 Ops/sec
Direct assignment 125975.9 Ops/sec