Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
JSON.stringify vs structuredClone vs spread vs Object.assign()
JSON.stringify vs structuredClone vs spread vs Object.assign()
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/141.0.0.0 Safari/537.36
Browser:
Chrome 141
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
10 months ago
spread
11.3M/s
Object.assign
10.7M/s
JSON.stringify
1.3M/s
structuredClone
277K/s
View exact numbers
Test name
Executions per second
✓
spread
11,298,334 Ops/sec
Object.assign
10,682,555 Ops/sec
JSON.stringify
1,336,956 Ops/sec
structuredClone
276,569 Ops/sec
Script Preparation code:
var MyObject = { description: 'Creates a deep copy of source, which should be an object or an array.', myNumber: 123456789, myBoolean: true, jayson: { stringify: 'JSON.stringify() method converts a JavaScript value to a JSON string....', parse: 'JSON.parse() method parses a JSON string...' } }; var myCopy = null;
Tests:
JSON.stringify
myCopy = JSON.parse(JSON.stringify(MyObject));
structuredClone
myCopy = structuredClone(MyObject);
spread
myCopy = {...MyObject};
Object.assign
myCopy = Object.assign({}, MyObject);