Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Lodash cloneDeep vs Object spread
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:139.0) Gecko/20100101 Firefox/139.0
Browser:
Firefox 139
Operating system:
Windows
Device Platform:
Desktop
Date tested:
one year ago
Object.assign
6.8M/s
Object spread
2.1M/s
Structured clone
99K/s
_cloneDeep
76K/s
View exact numbers
Test name
Executions per second
✓
Object.assign
6,769,928 Ops/sec
Object spread
2,109,088 Ops/sec
Structured clone
99,214 Ops/sec
_cloneDeep
75,986 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:
window.obj = {}; // 10 number properties for (let i = 0; i < 10; i++) { const key = (Math.random() + 1).toString(36).substring(7); obj[key] = Math.random(); } // 10 nested object properties for (let i = 0; i < 10; i++) { const key = (Math.random() + 1).toString(36).substring(7); obj[key] = { foo: Math.random(), bar: true, baz: { baz: "Hello World" } } }
Tests:
_cloneDeep
const obj2 = _.cloneDeep(obj)
Object spread
const obj3 = {...obj}
Structured clone
const obj4 = structuredClone(obj)
Object.assign
const obj5 = Object.assign({}, obj)