Script Preparation code:
x
 
window.object1 = {};
window.object2 = {};
window.object3 = {};
window.object4 = {};
window.object5 = {};
window.object6 = {};
function makeid() {
  var text = "";
  var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
  for (var i = 0; i < 5; i++)
    text += possible.charAt(Math.floor(Math.random() * possible.length));
  return text;
};
function populate(object) {
  for (let i = 0; i < 100; i++) {
    object[makeid()] = makeid();
  }
};
populate(object1);
populate(object2);
populate(object3);
populate(object4);
populate(object5);
populate(object6);
Tests:
  • Object.assign two objects

     
    const object7 = Object.assign({}, object1, object2);
  • Spread two objects

     
    const object7 = {...object1, ...object2};
  • Object.assign three objects

     
    const object7 = Object.assign({}, object1, object2, object3);
  • Spread three objects

     
    const object7 = {...object1, ...object2, ...object3};
  • Object.assign four objects

     
    const object7 = Object.assign({}, object1, object2, object3, object4);
  • Spread four objects

     
    const object7 = {...object1, ...object2, ...object3, ...object4};
  • Object.assign five objects

     
    const object7 = Object.assign({}, object1, object2, object3, object4, object5);
  • Spread five objects

     
    const object7 = {...object1, ...object2, ...object3, ...object4, ...object5};
  • Object.assign six objects

     
    const object7 = Object.assign({}, object1, object2, object3, object4, object5, object6);
  • Spread six objects

     
    const object7 = {...object1, ...object2, ...object3, ...object4, ...object5, ...object6};
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Object.assign two objects
    Spread two objects
    Object.assign three objects
    Spread three objects
    Object.assign four objects
    Spread four objects
    Object.assign five objects
    Spread five objects
    Object.assign six objects
    Spread six objects

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 3 days ago)
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Mobile Safari/537.36
Chrome Mobile 135 on Android
View result in a separate tab
Test name Executions per second
Object.assign two objects 24189.3 Ops/sec
Spread two objects 26174.3 Ops/sec
Object.assign three objects 10600.7 Ops/sec
Spread three objects 15264.8 Ops/sec
Object.assign four objects 6889.2 Ops/sec
Spread four objects 10860.3 Ops/sec
Object.assign five objects 5204.4 Ops/sec
Spread five objects 8977.7 Ops/sec
Object.assign six objects 4163.4 Ops/sec
Spread six objects 7041.8 Ops/sec