Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
structuredClone vs deepClone in larger objects
(version: 1)
Comparing performance of:
cloneDeep vs structuredClone
Created:
one year ago
by:
Guest
Jump to the latest result
HTML Preparation code:
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"></script>
Script Preparation code:
function createComplexNestedObject(depth = 10, breadth = 5, level = 1) { const result = {}; if (level < depth) result[`deepStart_${level}`] = createComplexNestedObject(depth, breadth, level + 1); for (let index = 0; index < breadth; index++) { const opts = [ `val_${level}_${index}_` + 'x'.repeat(50) /* string */, level * 1e3 + index /* number */, index % 2 === 0 /* boolean */, null /* null */, [index, level, `s${index}`] /* array */, new Date(Date.UTC(2020 + level, index % 12, (index % 28) + 1)) /* date */, new RegExp(`p_${level}_${index}`) /* regexp */ ]; result[`field_${level}_${index}`] = opts[index % opts.length]; if (level < depth && index === Math.floor(breadth / 2)) result[`deepMid_${level}`] = createComplexNestedObject(depth, breadth, level + 1); } if (level < depth) result[`deepEnd_${level}`] = createComplexNestedObject(depth, breadth, level + 1); return result; } var MyObject = createComplexNestedObject(10, 8); var myCopy = null;
Tests:
cloneDeep
_.cloneDeep(MyObject)
structuredClone
myCopy = structuredClone(MyObject);
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (2)
Previous results
Fork
Test case name
Result
cloneDeep
structuredClone
Fastest:
N/A
Slowest:
N/A
Latest run results:
No previous run results
This benchmark does not have any results yet. Be the first one
to run it!
Comments
Confirm delete:
Do you really want to delete benchmark?