Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
Feature Requests
FAQ
Register
Log In
Lodash 2.2.0 cloneDeep vs JSON Clone w/ large nested object
(version: 1)
Benchmark.js
Comparing performance of:
Lodash cloneDeep vs Json clone
Created:
6 years ago
by:
Registered User
Go to the latest result
HTML Preparation code:
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/2.2.0/lodash.min.js'></script>
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...' }, a: [ { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, { a: { a: [ { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, { a: { a: 1 } }, ] } }, ] }; var myCopy = null;
Tests:
Lodash cloneDeep
myCopy = _.cloneDeep(MyObject);
Json clone
myCopy = JSON.parse(JSON.stringify(MyObject));
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (2)
Previous results
Fork
Test case name
Result
Lodash cloneDeep
Json clone
Fastest:
N/A
Slowest:
N/A
Latest run results:
Run details:
(Test run date:
one year ago
)
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36
Browser/OS:
Chrome 140 on Mac OS X 10.15.7
View result in a separate tab
Embed
Embed Benchmark Result
Json clone
23K/s
Lodash cloneDeep
2K/s
View exact numbers
Test name
Executions per second
✓
Json clone
23,413 Ops/sec
Lodash cloneDeep
2,496 Ops/sec
Autogenerated LLM Summary
(model
llama3.1:latest
, generated one year ago):
A new benchmarking challenge! To answer your question, I'll need to follow these steps: 1. Understand the code and setup provided in the HTML Preparation Code section. 2. Analyze the test cases provided in the Individual test cases section. 3. Interpret the latest benchmark result provided. However, before I can provide a response, I'd like to clarify that there are two test cases: **Test Case 1: Lodash cloneDeep** ```javascript myCopy = _.cloneDeep(MyObject); ``` This uses the `_.cloneDeep()` function from Lodash to create a deep copy of the `MyObject` object. **Test Case 2: JSON clone** ```javascript myCopy = JSON.parse(JSON.stringify(MyObject)); ``` This uses the built-in `JSON.stringify()` and `JSON.parse()` functions to create a deep copy of the `MyObject` object. Please let me know which test case you'd like me to focus on or if you have any specific questions about these test cases!
Related benchmarks
Object cloning with Lodash clone vs cloneDeep vs merge vs ES6 object spread vs ES6 Object.assign vs JSON.parse(JSON.stringify())
Lodash cloneDeep vs JSON parse
Comments
Confirm delete:
Do you really want to delete benchmark?