Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
assign vs _.clone vs native clone vs JSON vs Recursive
(version: 2)
Comparing performance of:
assign vs _.clone vs native clone vs JSON vs recursive
Created:
7 years ago
by:
Registered User
Jump to the latest result
HTML Preparation code:
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/clone/2.1.2/clone.min.js"></script>
Script Preparation code:
var myClone = null; var obj = [ { "name": "test1", "characters": [ { "_id": "5b59a34561a2220011900b7e", "characterID": "5ab48ce869b013001d26f49b", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b7d", "characterID": "5ab48ce869b013001d26f49c", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b7c", "characterID": "5ab48ce869b013001d26f49d", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b7b", "characterID": "5ab48ce869b013001d26f4a7", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b7a", "characterID": "5ab48ce869b013001d26f4b0", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b79", "characterID": "5ab48ce869b013001d26f4b6", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b78", "characterID": "5ab48ce869b013001d26f4bf", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b77", "characterID": "5ab48ce869b013001d26f4c4", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b76", "characterID": "5ab48ce869b013001d26f4c9", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b75", "characterID": "5ab48ce869b013001d26f4d0", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b74", "characterID": "5ab48ce969b013001d26f4d8", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b73", "characterID": "5ab48ce969b013001d26f4d9", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b72", "characterID": "5ab48ce969b013001d26f4e2", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b71", "characterID": "5ab48ce969b013001d26f4ed", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b70", "characterID": "5ab48ce969b013001d26f4ef", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b6f", "characterID": "5ab48ce969b013001d26f4f3", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b6e", "characterID": "5ab48ce969b013001d26f503", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b6d", "characterID": "5ab48ce969b013001d26f505", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b6c", "characterID": "5ab48ce969b013001d26f50d", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b6b", "characterID": "5ab48ce969b013001d26f515", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b6a", "characterID": "5ab48ce969b013001d26f519", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b69", "characterID": "5ab48ce969b013001d26f51a", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b68", "characterID": "5ab48ce969b013001d26f528", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b67", "characterID": "5ab48ce969b013001d26f52c", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b66", "characterID": "5ab48ce969b013001d26f52e", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b65", "characterID": "5ab48ce969b013001d26f535", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b64", "characterID": "5ab48ce969b013001d26f53c", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b63", "characterID": "5ab48ce969b013001d26f541", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b62", "characterID": "5ab48ce969b013001d26f542", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b61", "characterID": "5ab48ce969b013001d26f552", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b60", "characterID": "5ab48ce969b013001d26f558", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b5f", "characterID": "5ab48ce969b013001d26f55b", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b5e", "characterID": "5ab48ce969b013001d26f568", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b5d", "characterID": "5ab48ce969b013001d26f569", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b5c", "characterID": "5ab48ce969b013001d26f56b", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b5b", "characterID": "5ab48ce969b013001d26f57e", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b5a", "characterID": "5ab48ce969b013001d26f585", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b59", "characterID": "5ab48ce969b013001d26f587", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b58", "characterID": "5ab48ce969b013001d26f58c", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b57", "characterID": "5ab48ce969b013001d26f58f", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b56", "characterID": "5ab48ce969b013001d26f598", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b55", "characterID": "5ab48ce969b013001d26f5a0", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b54", "characterID": "5ab48ce969b013001d26f5ab", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b53", "characterID": "5ab48ce969b013001d26f5ad", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b52", "characterID": "5b05276604041f001de1cec7", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b51", "characterID": "5b05276604041f001de1cecf", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b50", "characterID": "5b05276604041f001de1ced1", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b4f", "characterID": "5b05276604041f001de1ceda", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b4e", "characterID": "5b05276604041f001de1cee6", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b4d", "characterID": "5b05276604041f001de1cee7", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b4c", "characterID": "5b05276604041f001de1ceee", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b4b", "characterID": "5b1614bf6b9868001df21f39", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b4a", "characterID": "5b1614bf6b9868001df21f3c", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b49", "characterID": "5b1614bf6b9868001df21f44", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b48", "characterID": "5b166a1d6b9868001df22509", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b47", "characterID": "5b166a1d6b9868001df2250b", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b46", "characterID": "5b166a1d6b9868001df22512", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b45", "characterID": "5b334034d075be001dd96d2e", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b44", "characterID": "5b334034d075be001dd96d2f", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b43", "characterID": "5b334034d075be001dd96d30", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b42", "characterID": "5b334034d075be001dd96d42", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b41", "characterID": "5b334034d075be001dd96d49", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b40", "characterID": "5b334034d075be001dd96d50", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b3f", "characterID": "5b334034d075be001dd96d56", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b3e", "characterID": "5b334034d075be001dd96d59", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b3d", "characterID": "5b334034d075be001dd96d5b", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b39", "characterID": "5b334034d075be001dd96d7f", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b38", "characterID": "5b334034d075be001dd96d80", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b37", "characterID": "5b334034d075be001dd96d81", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b33", "characterID": "5b50690fce0e3d001d4377ac", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b32", "characterID": "5b50690fce0e3d001d4377af", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b31", "characterID": "5b50690fce0e3d001d4377b0", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b30", "characterID": "5b50690fce0e3d001d4377c0", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b2f", "characterID": "5b50690fce0e3d001d4377c2", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b2e", "characterID": "5b50690fce0e3d001d4377c9", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b2d", "characterID": "5b506d27ce0e3d001d438035", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b2c", "characterID": "5b50690fce0e3d001d4377d8", "level": 1, "spawnRate": 24, "maxSpawn": 1 }, { "_id": "5b59a34561a2220011900b2b", "characterID": "5b50690fce0e3d001d4377d9", "level": 1, "spawnRate": 24, "maxSpawn": 1 } ], "itemCatches": [], "itemConsumables": [], "landmark": null } ]
Tests:
assign
myClone = Object.assign(obj);
_.clone
myClone = _.clone(obj);
native clone
myClone = {...obj};
JSON
myClone = JSON.parse(JSON.stringify(obj));
recursive
var recursiveClone = function(obj) { var out = Array.isArray(obj) ? [] : {}; for (var key in obj) { var v = obj[key]; out[key] = (typeof v === 'object') ? recursiveClone(v) : v; } return out; }; myClone = recursiveClone(obj);
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (5)
Previous results
Fork
Test case name
Result
assign
_.clone
native clone
JSON
recursive
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):
To answer your question, I'll need to parse the provided JSON data and HTML code. The parsed JSON data appears to be an object containing various benchmarking results: ```json { "benchmarks": [ { "TestName": "assign", "ExecutionsPerSecond": 4412400.0, "RawUAString": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36" }, { "TestName": "_clone", "ExecutionsPerSecond": 3839273.5, "RawUAString": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36" }, { "TestName": "native clone", "ExecutionsPerSecond": 1966344.125, "RawUAString": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36" }, { "TestName": "recursive", "ExecutionsPerSecond": 32306.705078125, "RawUAString": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36" }, { "TestName": "JSON", "ExecutionsPerSecond": 21226.966796875, "RawUAString": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36" } ] } ``` The HTML code appears to be a snippet of a JavaScript file containing various library imports: ```html <script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/clone/2.1.2/clone.min.js"></script> ``` Now, if you'd like to discuss the benchmarking results or the libraries being used, I'm here to help!
Related benchmarks:
_.filter + _.map vs array push in _.forEach vs _.reduce
lodash clonedeep vs json.parse(stringify()) vs recursivecopy v2
Lodash 2.2.0 cloneDeep vs JSON Clone w/ large nested object
_.map _.uniq vs _.map Set vs _.keyBy _.keys _.uniq
Comments
Confirm delete:
Do you really want to delete benchmark?