HTML Preparation code:
AخA
 
1
spred vs object assign vs object setPrototypeOf vs reflect setPrototypeOf
Script Preparation code:
 
window.data = Array.from({ length: 65535 }, (_, index) => index);
Tests:
  • spread

     
    var spread = { ...window.data };
  • assign

     
    var assign = Object.assign({}, window.data);
  • assign null

     
    var assignNull = Object.assign(Object.create(null), window.data);
  • Object setPrototypeOf

     
    var objectSetPrototypeOf = Object.setPrototypeOf({}, window.data);
  • Object setPrototypeOf null

     
    var objectSetPrototypeOfNull = Object.setPrototypeOf(Object.create(null), window.data);
  • Reflect setPrototypeOf

     
    var reflectSetPrototypeOf = Object.setPrototypeOf({}, window.data);
  • Reflect setPrototypeOf null

     
    var reflectSetPrototypeOfNull = Object.setPrototypeOf(Object.create(null), window.data);
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    spread
    assign
    assign null
    Object setPrototypeOf
    Object setPrototypeOf null
    Reflect setPrototypeOf
    Reflect setPrototypeOf null

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 6 months ago)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36
Chrome 129 on Linux
View result in a separate tab
Test name Executions per second
spread 98.1 Ops/sec
assign 94.1 Ops/sec
assign null 104.3 Ops/sec
Object setPrototypeOf 3955041.8 Ops/sec
Object setPrototypeOf null 2463769.5 Ops/sec
Reflect setPrototypeOf 3549593.2 Ops/sec
Reflect setPrototypeOf null 2323514.5 Ops/sec