Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
structuredClone vs spread vs Object.assign() vs JSON.parse
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0
Browser:
Firefox 128
Operating system:
Linux
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
structuredClone()
327869.0 Ops/sec
spread syntax
3543069.8 Ops/sec
Object.assign()
12925767.0 Ops/sec
JSON.parse(JSON.stringify())
498933.2 Ops/sec
Script Preparation code:
var oldObj = { "single": false, "applyOverTaxes": false, "discountType": "1", "value": 100, "minimumAmount": 0, "quantity": 1, "suffixLength": 8, "code": "IF5R0AFX", "vertical": true, "allowedPaymentMethods": null, "allowedBanks": null, "types": undefined, "partners": "Many", "startDate": "2020-10-21T00:00:00.000Z", "endDate": "2020-10-21T00:00:00.000Z", "applyed": false }
Tests:
structuredClone()
const newObj = structuredClone(oldObj)
spread syntax
const newObj = {...oldObj}
Object.assign()
const newObj = Object.assign({}, oldObj)
JSON.parse(JSON.stringify())
const newObj = JSON.parse(JSON.stringify(oldObj))