Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
deepClone vs JSON parse/stringify
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2.1 Safari/605.1.15
Browser:
Safari 17
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
JSON parse/stringify
556715.3 Ops/sec
deepClone
273719.3 Ops/sec
Lodash deepClone
205223.7 Ops/sec
HTML Preparation code:
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
Script Preparation code:
function deepClone(val) { if (typeof val !== 'object' || val === null) { return val; } if (Array.isArray(val)) { return val.map((item) => deepClone(item)); } const obj = {}; for (const key in val) { obj[key] = deepClone(val[key]); } return obj; } var obj1 = { "problems": [{ "Diabetes":[{ "medications":[{ "medicationsClasses":[{ "className":[{ "associatedDrug":[{ "name":"asprin", "dose":"", "strength":3232323 }], "associatedDrug#2":[{ "name": 3232323, "dose":null, "strength":"500 mg" }] }], "className2":[{ "associatedDrug":[{ "name":"asprin", "dose":"", "strength":212132 }], "associatedDrug#2":[{ "name":4343, "dose":"fdsafd", "strength":32323232 }] }] }] }], "labs":[{ "missing_field": "missing_value" }] }], "Asthma":[{}] }]}; var obj2 = null;
Tests:
JSON parse/stringify
obj2 = JSON.parse(JSON.stringify(obj1));
deepClone
obj2 = deepClone(obj1)
Lodash deepClone
obj2 = _.cloneDeep(obj1);