Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
asdjf ladjfasd fjaldsf
(version: 0)
Comparing performance of:
lodash cloneDeep vs JSON.parse(JSON.stringify())
Created:
4 years ago
by:
Guest
Jump to the latest result
HTML Preparation code:
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js'></script> <script src='https://cdn.jsdelivr.net/npm/jsondiffpatch@0.4.1/dist/jsondiffpatch.umd.min.js'></script> <script src='https://cdn.jsdelivr.net/npm/rfdc@1.3.0'></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...' }, test: [ { press: 982, geopotentialHeight: 142.9442243, temp: 11.6, dwpt: 8.1 }, { press: 975, geopotentialHeight: 202.9868942, temp: 10.5, dwpt: 7.2 }, { press: 950, geopotentialHeight: 418.1651935, temp: 8.3, dwpt: 6.3 }, { press: 925, geopotentialHeight: 637.9152697, temp: 6.3, dwpt: 4.8 }, { press: 900, geopotentialHeight: 862.2371228, temp: 4.7, dwpt: 3.2 }, { press: 875, geopotentialHeight: 1091.435538, temp: 3.2, dwpt: 2 }, { press: 850, geopotentialHeight: 1325.8153, temp: 1.5, dwpt: 1 }, { press: 825, geopotentialHeight: 1565.98598, temp: 0.3, dwpt: 0 }, { press: 800, geopotentialHeight: 1812.557147, temp: -0.8, dwpt: -1.2 }, { press: 775, geopotentialHeight: 2065.528802, temp: -2.1, dwpt: -2.7 }, { press: 750, geopotentialHeight: 2325.510515, temp: -3.6, dwpt: -4.2 }, { press: 725, geopotentialHeight: 2593.111856, temp: -5.1, dwpt: -5.8 }, { press: 700, geopotentialHeight: 2868.332825, temp: -6.2, dwpt: -7.6 }, { press: 675, geopotentialHeight: 3151.478208, temp: -7.7, dwpt: -9.5 }, { press: 650, geopotentialHeight: 3445.29107, temp: -9.2, dwpt: -11.4 }, { press: 625, geopotentialHeight: 3746.418775, temp: -10.8, dwpt: -13.7 }, { press: 600, geopotentialHeight: 4060.347455, temp: -12.5, dwpt: -16.1 }, { press: 575, geopotentialHeight: 4383.419689, temp: -14.2, dwpt: -18.3 }, { press: 550, geopotentialHeight: 4720.816824, temp: -16, dwpt: -20.6 }, { press: 525, geopotentialHeight: 5068.271868, temp: -18.1, dwpt: -24 }, { press: 500, geopotentialHeight: 5432.490094, temp: -20.3, dwpt: -27.6 }, { press: 475, geopotentialHeight: 5807.98537, temp: -23.3, dwpt: -30.7 }, { press: 450, geopotentialHeight: 6203.90125, temp: -26.5, dwpt: -34.1 }, { press: 425, geopotentialHeight: 6610.179823, temp: -30, dwpt: -37.5 }, { press: 400, geopotentialHeight: 7041.450777, temp: -33.7, dwpt: -41.2 }, { press: 375, geopotentialHeight: 7487.046632, temp: -37.2, dwpt: -44.5 }, { press: 350, geopotentialHeight: 7963.425785, temp: -40.9, dwpt: -48.1 }, { press: 325, geopotentialHeight: 8461.139896, temp: -43.1, dwpt: -54.2 }, { press: 300, geopotentialHeight: 8998.780859, temp: -45.5, dwpt: -64.8 }, { press: 275, geopotentialHeight: 9579.396525, temp: -45.2, dwpt: -67.6 }, { press: 250, geopotentialHeight: 10215.1783, temp: -44.9, dwpt: -72.9 }, { press: 225, geopotentialHeight: 10919.53673, temp: -45, dwpt: -74.4 }, { press: 200, geopotentialHeight: 11707.10149, temp: -45.1, dwpt: -76.7 }, { press: 175, geopotentialHeight: 12595.24535, temp: -46.5, dwpt: -79.9 }, { press: 150, geopotentialHeight: 13620.54252, temp: -48.1, dwpt: -84.9 }, { press: 125, geopotentialHeight: 14803.10881, temp: -50.8, dwpt: -86.4 }, { press: 100, geopotentialHeight: 16250.22859, temp: -54, dwpt: -88.1 }, { press: 75, geopotentialHeight: 18056.38525, temp: -56.9, dwpt: -88.3 }, { press: 50, geopotentialHeight: 20601.95062, temp: -61, dwpt: -89.4 } ], test2: [ { press: 982, geopotentialHeight: 142.9442243, temp: 11.6, dwpt: 8.1, test: [ { press: 982, geopotentialHeight: 142.9442243, temp: 11.6, dwpt: 8.1 }, { press: 975, geopotentialHeight: 202.9868942, temp: 10.5, dwpt: 7.2 }, { press: 950, geopotentialHeight: 418.1651935, temp: 8.3, dwpt: 6.3 }, { press: 925, geopotentialHeight: 637.9152697, temp: 6.3, dwpt: 4.8 }, { press: 900, geopotentialHeight: 862.2371228, temp: 4.7, dwpt: 3.2 }, { press: 875, geopotentialHeight: 1091.435538, temp: 3.2, dwpt: 2 }, { press: 850, geopotentialHeight: 1325.8153, temp: 1.5, dwpt: 1 }, { press: 825, geopotentialHeight: 1565.98598, temp: 0.3, dwpt: 0 }, { press: 800, geopotentialHeight: 1812.557147, temp: -0.8, dwpt: -1.2 }, { press: 775, geopotentialHeight: 2065.528802, temp: -2.1, dwpt: -2.7 }, { press: 750, geopotentialHeight: 2325.510515, temp: -3.6, dwpt: -4.2 }, { press: 725, geopotentialHeight: 2593.111856, temp: -5.1, dwpt: -5.8 }, { press: 700, geopotentialHeight: 2868.332825, temp: -6.2, dwpt: -7.6 }, { press: 675, geopotentialHeight: 3151.478208, temp: -7.7, dwpt: -9.5 }, { press: 650, geopotentialHeight: 3445.29107, temp: -9.2, dwpt: -11.4 }, { press: 625, geopotentialHeight: 3746.418775, temp: -10.8, dwpt: -13.7 }, { press: 600, geopotentialHeight: 4060.347455, temp: -12.5, dwpt: -16.1 }, { press: 575, geopotentialHeight: 4383.419689, temp: -14.2, dwpt: -18.3 }, { press: 550, geopotentialHeight: 4720.816824, temp: -16, dwpt: -20.6 }, { press: 525, geopotentialHeight: 5068.271868, temp: -18.1, dwpt: -24 }, { press: 500, geopotentialHeight: 5432.490094, temp: -20.3, dwpt: -27.6 }, { press: 475, geopotentialHeight: 5807.98537, temp: -23.3, dwpt: -30.7 }, { press: 450, geopotentialHeight: 6203.90125, temp: -26.5, dwpt: -34.1 }, { press: 425, geopotentialHeight: 6610.179823, temp: -30, dwpt: -37.5 }, { press: 400, geopotentialHeight: 7041.450777, temp: -33.7, dwpt: -41.2 }, { press: 375, geopotentialHeight: 7487.046632, temp: -37.2, dwpt: -44.5 }, { press: 350, geopotentialHeight: 7963.425785, temp: -40.9, dwpt: -48.1 }, { press: 325, geopotentialHeight: 8461.139896, temp: -43.1, dwpt: -54.2 }, { press: 300, geopotentialHeight: 8998.780859, temp: -45.5, dwpt: -64.8 }, { press: 275, geopotentialHeight: 9579.396525, temp: -45.2, dwpt: -67.6 }, { press: 250, geopotentialHeight: 10215.1783, temp: -44.9, dwpt: -72.9 }, { press: 225, geopotentialHeight: 10919.53673, temp: -45, dwpt: -74.4 }, { press: 200, geopotentialHeight: 11707.10149, temp: -45.1, dwpt: -76.7 }, { press: 175, geopotentialHeight: 12595.24535, temp: -46.5, dwpt: -79.9 }, { press: 150, geopotentialHeight: 13620.54252, temp: -48.1, dwpt: -84.9 }, { press: 125, geopotentialHeight: 14803.10881, temp: -50.8, dwpt: -86.4, test: [ { press: 982, geopotentialHeight: 142.9442243, temp: 11.6, dwpt: 8.1 }, { press: 975, geopotentialHeight: 202.9868942, temp: 10.5, dwpt: 7.2 }, { press: 950, geopotentialHeight: 418.1651935, temp: 8.3, dwpt: 6.3 }, { press: 925, geopotentialHeight: 637.9152697, temp: 6.3, dwpt: 4.8 }, { press: 900, geopotentialHeight: 862.2371228, temp: 4.7, dwpt: 3.2 }, { press: 875, geopotentialHeight: 1091.435538, temp: 3.2, dwpt: 2 }, { press: 850, geopotentialHeight: 1325.8153, temp: 1.5, dwpt: 1 }, { press: 825, geopotentialHeight: 1565.98598, temp: 0.3, dwpt: 0 }, { press: 800, geopotentialHeight: 1812.557147, temp: -0.8, dwpt: -1.2 }, { press: 775, geopotentialHeight: 2065.528802, temp: -2.1, dwpt: -2.7 }, { press: 750, geopotentialHeight: 2325.510515, temp: -3.6, dwpt: -4.2 }, { press: 725, geopotentialHeight: 2593.111856, temp: -5.1, dwpt: -5.8 }, { press: 700, geopotentialHeight: 2868.332825, temp: -6.2, dwpt: -7.6 }, { press: 675, geopotentialHeight: 3151.478208, temp: -7.7, dwpt: -9.5 }, { press: 650, geopotentialHeight: 3445.29107, temp: -9.2, dwpt: -11.4 }, { press: 625, geopotentialHeight: 3746.418775, temp: -10.8, dwpt: -13.7 }, { press: 600, geopotentialHeight: 4060.347455, temp: -12.5, dwpt: -16.1 }, { press: 575, geopotentialHeight: 4383.419689, temp: -14.2, dwpt: -18.3 }, { press: 550, geopotentialHeight: 4720.816824, temp: -16, dwpt: -20.6 }, { press: 525, geopotentialHeight: 5068.271868, temp: -18.1, dwpt: -24 }, { press: 500, geopotentialHeight: 5432.490094, temp: -20.3, dwpt: -27.6 }, { press: 475, geopotentialHeight: 5807.98537, temp: -23.3, dwpt: -30.7 }, { press: 450, geopotentialHeight: 6203.90125, temp: -26.5, dwpt: -34.1 }, { press: 425, geopotentialHeight: 6610.179823, temp: -30, dwpt: -37.5 }, { press: 400, geopotentialHeight: 7041.450777, temp: -33.7, dwpt: -41.2 }, { press: 375, geopotentialHeight: 7487.046632, temp: -37.2, dwpt: -44.5 }, { press: 350, geopotentialHeight: 7963.425785, temp: -40.9, dwpt: -48.1 }, { press: 325, geopotentialHeight: 8461.139896, temp: -43.1, dwpt: -54.2 }, { press: 300, geopotentialHeight: 8998.780859, temp: -45.5, dwpt: -64.8 }, { press: 275, geopotentialHeight: 9579.396525, temp: -45.2, dwpt: -67.6 }, { press: 250, geopotentialHeight: 10215.1783, temp: -44.9, dwpt: -72.9 }, { press: 225, geopotentialHeight: 10919.53673, temp: -45, dwpt: -74.4 }, { press: 200, geopotentialHeight: 11707.10149, temp: -45.1, dwpt: -76.7 }, { press: 175, geopotentialHeight: 12595.24535, temp: -46.5, dwpt: -79.9 }, { press: 150, geopotentialHeight: 13620.54252, temp: -48.1, dwpt: -84.9 }, { press: 125, geopotentialHeight: 14803.10881, temp: -50.8, dwpt: -86.4 }, { press: 100, geopotentialHeight: 16250.22859, temp: -54, dwpt: -88.1 }, { press: 75, geopotentialHeight: 18056.38525, temp: -56.9, dwpt: -88.3 }, { press: 50, geopotentialHeight: 20601.95062, temp: -61, dwpt: -89.4 } ] }, { press: 100, geopotentialHeight: 16250.22859, temp: -54, dwpt: -88.1 }, { press: 75, geopotentialHeight: 18056.38525, temp: -56.9, dwpt: -88.3 }, { press: 50, geopotentialHeight: 20601.95062, temp: -61, dwpt: -89.4 } ] }, { press: 975, geopotentialHeight: 202.9868942, temp: 10.5, dwpt: 7.2 }, { press: 950, geopotentialHeight: 418.1651935, temp: 8.3, dwpt: 6.3 }, { press: 925, geopotentialHeight: 637.9152697, temp: 6.3, dwpt: 4.8 }, { press: 900, geopotentialHeight: 862.2371228, temp: 4.7, dwpt: 3.2 }, { press: 875, geopotentialHeight: 1091.435538, temp: 3.2, dwpt: 2 }, { press: 850, geopotentialHeight: 1325.8153, temp: 1.5, dwpt: 1 }, { press: 825, geopotentialHeight: 1565.98598, temp: 0.3, dwpt: 0 }, { press: 800, geopotentialHeight: 1812.557147, temp: -0.8, dwpt: -1.2 }, { press: 775, geopotentialHeight: 2065.528802, temp: -2.1, dwpt: -2.7 }, { press: 750, geopotentialHeight: 2325.510515, temp: -3.6, dwpt: -4.2 }, { press: 725, geopotentialHeight: 2593.111856, temp: -5.1, dwpt: -5.8 }, { press: 700, geopotentialHeight: 2868.332825, temp: -6.2, dwpt: -7.6 }, { press: 675, geopotentialHeight: 3151.478208, temp: -7.7, dwpt: -9.5 }, { press: 650, geopotentialHeight: 3445.29107, temp: -9.2, dwpt: -11.4 }, { press: 625, geopotentialHeight: 3746.418775, temp: -10.8, dwpt: -13.7 }, { press: 600, geopotentialHeight: 4060.347455, temp: -12.5, dwpt: -16.1 }, { press: 575, geopotentialHeight: 4383.419689, temp: -14.2, dwpt: -18.3 }, { press: 550, geopotentialHeight: 4720.816824, temp: -16, dwpt: -20.6 }, { press: 525, geopotentialHeight: 5068.271868, temp: -18.1, dwpt: -24 }, { press: 500, geopotentialHeight: 5432.490094, temp: -20.3, dwpt: -27.6 }, { press: 475, geopotentialHeight: 5807.98537, temp: -23.3, dwpt: -30.7 }, { press: 450, geopotentialHeight: 6203.90125, temp: -26.5, dwpt: -34.1 }, { press: 425, geopotentialHeight: 6610.179823, temp: -30, dwpt: -37.5 }, { press: 400, geopotentialHeight: 7041.450777, temp: -33.7, dwpt: -41.2 }, { press: 375, geopotentialHeight: 7487.046632, temp: -37.2, dwpt: -44.5 }, { press: 350, geopotentialHeight: 7963.425785, temp: -40.9, dwpt: -48.1 }, { press: 325, geopotentialHeight: 8461.139896, temp: -43.1, dwpt: -54.2 }, { press: 300, geopotentialHeight: 8998.780859, temp: -45.5, dwpt: -64.8 }, { press: 275, geopotentialHeight: 9579.396525, temp: -45.2, dwpt: -67.6 }, { press: 250, geopotentialHeight: 10215.1783, temp: -44.9, dwpt: -72.9 }, { press: 225, geopotentialHeight: 10919.53673, temp: -45, dwpt: -74.4 }, { press: 200, geopotentialHeight: 11707.10149, temp: -45.1, dwpt: -76.7 }, { press: 175, geopotentialHeight: 12595.24535, temp: -46.5, dwpt: -79.9 }, { press: 150, geopotentialHeight: 13620.54252, temp: -48.1, dwpt: -84.9 }, { press: 125, geopotentialHeight: 14803.10881, temp: -50.8, dwpt: -86.4 }, { press: 100, geopotentialHeight: 16250.22859, temp: -54, dwpt: -88.1 }, { press: 75, geopotentialHeight: 18056.38525, temp: -56.9, dwpt: -88.3 }, { press: 50, geopotentialHeight: 20601.95062, temp: -61, dwpt: -89.4 } ], }; var myCopy = null; var jsondiffpatchClone = jsondiffpatch.clone; var rfdcClone = rfdc(); /////////////////////////////////////////////////////////////////// function recursiveDeepCopy(o) { var newO, i; if (typeof o !== 'object') { return o; } if (!o) { return o; } if ('[object Array]' === Object.prototype.toString.apply(o)) { newO = []; for (i = 0; i < o.length; i += 1) { newO[i] = recursiveDeepCopy(o[i]); } return newO; } newO = {}; for (i in o) { if (o.hasOwnProperty(i)) { newO[i] = recursiveDeepCopy(o[i]); } } return newO; } ////////////////////////////////////////////////////////////////// // Use https://www.npmjs.com/package/fastest-json-copy // Instead of the code below! It is the same thing, just minified. var isArray=Array.isArray;function fastestJsonCopy(r){if(!r)return r;if(isArray(r)){for(var e=[],o=r.length,t=0;t<o;t++)e.push(fastestJsonCopy(r[t]));return e}if("object"==typeof r){var y=Object.keys(r),a=(o=y.length,{});for(t=0;t<o;t++){var c=y[t];a[c]=fastestJsonCopy(r[c])}return a}return r}
Tests:
lodash cloneDeep
myCopy = _.cloneDeep(MyObject);
JSON.parse(JSON.stringify())
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.parse(JSON.stringify())
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!
Autogenerated LLM Summary
(model
llama3.2:3b
, generated one year ago):
I'll do my best to answer the question without any further context or preamble. It appears that we are being asked to compare the performance of two methods for deep cloning complex JavaScript objects: `_.cloneDeep` from Lodash and `JSON.parse(JSON.stringify())`. The provided benchmark result suggests that: * `JSON.parse(JSON.stringify())` is slightly faster than `.cloneDeep`, with approximately 1-2% difference in execution speed. * The tests were run on a Chrome 100 browser on a Windows desktop platform. However, I don't see any direct question or prompt being asked. If you could provide more context or clarify what specific aspect of this comparison you'd like me to address, I'll do my best to help!
Related benchmarks:
Lodash cloneDeep vs Json clone (deeply nested)
Lodash cloneDeep vs JSON Clone deeper1
Lodash cloneDeep vs deepFreeze vs deepClone vs JSON.parse(JSON.stringify())
JSON.stringify vs structuredClone (with deeply nested objects)
Comments
Confirm delete:
Do you really want to delete benchmark?