Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
JavaScript spread operator vs Object.assign performance vs manual copy With more complex data
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0
Browser:
Chrome 131
Operating system:
Windows
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
Using the spread operator
17134370.0 Ops/sec
Using Object.assign
10428379.0 Ops/sec
Manual copy
76812584.0 Ops/sec
Script Preparation code:
const firstObject = { sampleData: 'Hello world', key1: 'value1', key2: 'value 2', key3: 'value 3', keyNum1: 123456 }; const secondObject = { moreData: 'foo bar', key1: 'value1.1', key4: 'value4' };
Tests:
Using the spread operator
const finalObject = { ...firstObject, ...secondObject };
Using Object.assign
const finalObject = Object.assign({}, firstObject, secondObject);
Manual copy
const finalObject = { sampleData: firstObject.sampleData, key1 : firstObject.key1, key2 : firstObject.key2, key3 : firstObject.key3, keyNum1 : firstObject.keyNum1, moreData: secondObject.moreData , key1: secondObject.key1 , key4 : secondObject.key4 };