Tests:
  • Object.assign

    x
     
    // Object.assign
    function createObject(fillValue) {
        return Object.fromEntries(new Array(1024*12).fill(fillValue).map((value, index) => {
            return [fillValue + index, fillValue + index];
        }));
    }
    const params = createObject('params');
    const other = Object.assign(createObject('assign'), params);
  • spread operator

     
    // spread operator
    function createObject(fillValue) {
        return Object.fromEntries(new Array(1024*12).fill(fillValue).map((value, index) => {
            return [fillValue + index, fillValue + index];
        }));
    }
    const params = createObject('params');
    const other = {...createObject('spread'), ...params};
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Object.assign
    spread operator

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 3 years ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.79 Safari/537.36
Chrome 100 on Windows
View result in a separate tab
Test name Executions per second
Object.assign 40.6 Ops/sec
spread operator 31.4 Ops/sec