Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Spread vs Object.assign mutate
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36
Browser:
Chrome 131
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
Object.assign two objects
47612.7 Ops/sec
Spread two objects
44886.8 Ops/sec
Script Preparation code:
window.object1 = {}; window.object2 = {}; 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);
Tests:
Object.assign two objects
let object7 = Object.assign({}, object1); object7 = Object.assign(object7, object2);
Spread two objects
const object7 = Object.assign({}, object1); const object8 = {...object7, ...object2};