Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
lodash merge vs object.assign vs spread 1
(version: 0)
Comparing performance of:
lodash merge vs object.assign vs spread
Created:
one year ago
by:
Guest
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>
Tests:
lodash merge
var a = { "_id": "66fbb8cedd880f8726d3430d", "index": 0, "guid": "0a9b7fd8-2e1c-423e-9129-a4b34edd6ea0", "isActive": false, "balance": "$3,498.70", "picture": "http://placehold.it/32x32", "age": 31, "eyeColor": "blue", "name": "Estrada Mcfarland", "gender": "male", "company": "BULLZONE", "email": "estradamcfarland@bullzone.com", "phone": "+1 (875) 565-3286", "address": "344 Oakland Place, Caledonia, Ohio, 8843", "about": "Cupidatat velit minim Lorem quis non. Ullamco magna qui commodo aliquip cillum anim ea aliqua. Tempor ullamco nulla cillum mollit veniam tempor ipsum ipsum culpa ipsum. Quis sit velit minim ad eiusmod veniam aliquip non anim veniam anim enim est cupidatat. Pariatur ipsum ipsum commodo irure laborum qui velit do est ullamco. Tempor velit ullamco Lorem non laboris culpa ullamco excepteur aliquip laboris cillum occaecat adipisicing anim.\r\n", "registered": "2014-01-31T12:10:19 -07:00", "latitude": 37.048423, "longitude": 131.714333, "tags": [ "reprehenderit", "ea", "esse", "ipsum", "Lorem", "dolor", "non" ], "friends": [ { "id": 0, "name": "Bender Battle" }, { "id": 1, "name": "Flowers Huff" }, { "id": 2, "name": "Amanda Armstrong" }]}; var b = { "_id": "66fbb8fb871c6f25070b297b", "index": 0, "guid": "65f9bf15-96b5-4e1c-8d17-a7b9f9f52cf3", "isActive": false, "balance": "$2,098.99", "picture": "http://placehold.it/32x32", "age": 39, "eyeColor": "blue", "name": "Cherry Hendrix", "gender": "female", "company": "MAGNINA", "email": "cherryhendrix@magnina.com", "phone": "+1 (842) 469-3783", "address": "645 Myrtle Avenue, Sharon, Nevada, 4405", "about": "Consequat Lorem Lorem quis ea mollit Lorem deserunt eiusmod elit. Eu est duis in incididunt exercitation consequat duis sint quis adipisicing nisi. Quis sunt excepteur laborum cillum cillum ea ullamco tempor duis esse eiusmod laboris. Velit aliquip consequat ullamco laboris laboris sit cillum commodo fugiat labore sint cillum consequat.\r\n", "registered": "2023-06-02T08:28:00 -07:00", "latitude": -67.322848, "longitude": 19.323204, "tags": [ "amet", "laboris", "cillum", "irure", "velit", "officia", "in" ], "friends": [ { "id": 0, "name": "Shanna Shelton" }, { "id": 1, "name": "Lucile Kelley" }, { "id": 2, "name": "Walker Hall" } ], "greeting": "Hello, Cherry Hendrix! You have 3 unread messages.", "favoriteFruit": "apple" }; var c = _.merge(a, b);
object.assign
var a = { "_id": "66fbb8cedd880f8726d3430d", "index": 0, "guid": "0a9b7fd8-2e1c-423e-9129-a4b34edd6ea0", "isActive": false, "balance": "$3,498.70", "picture": "http://placehold.it/32x32", "age": 31, "eyeColor": "blue", "name": "Estrada Mcfarland", "gender": "male", "company": "BULLZONE", "email": "estradamcfarland@bullzone.com", "phone": "+1 (875) 565-3286", "address": "344 Oakland Place, Caledonia, Ohio, 8843", "about": "Cupidatat velit minim Lorem quis non. Ullamco magna qui commodo aliquip cillum anim ea aliqua. Tempor ullamco nulla cillum mollit veniam tempor ipsum ipsum culpa ipsum. Quis sit velit minim ad eiusmod veniam aliquip non anim veniam anim enim est cupidatat. Pariatur ipsum ipsum commodo irure laborum qui velit do est ullamco. Tempor velit ullamco Lorem non laboris culpa ullamco excepteur aliquip laboris cillum occaecat adipisicing anim.\r\n", "registered": "2014-01-31T12:10:19 -07:00", "latitude": 37.048423, "longitude": 131.714333, "tags": [ "reprehenderit", "ea", "esse", "ipsum", "Lorem", "dolor", "non" ], "friends": [ { "id": 0, "name": "Bender Battle" }, { "id": 1, "name": "Flowers Huff" }, { "id": 2, "name": "Amanda Armstrong" }]}; var b = { "_id": "66fbb8fb871c6f25070b297b", "index": 0, "guid": "65f9bf15-96b5-4e1c-8d17-a7b9f9f52cf3", "isActive": false, "balance": "$2,098.99", "picture": "http://placehold.it/32x32", "age": 39, "eyeColor": "blue", "name": "Cherry Hendrix", "gender": "female", "company": "MAGNINA", "email": "cherryhendrix@magnina.com", "phone": "+1 (842) 469-3783", "address": "645 Myrtle Avenue, Sharon, Nevada, 4405", "about": "Consequat Lorem Lorem quis ea mollit Lorem deserunt eiusmod elit. Eu est duis in incididunt exercitation consequat duis sint quis adipisicing nisi. Quis sunt excepteur laborum cillum cillum ea ullamco tempor duis esse eiusmod laboris. Velit aliquip consequat ullamco laboris laboris sit cillum commodo fugiat labore sint cillum consequat.\r\n", "registered": "2023-06-02T08:28:00 -07:00", "latitude": -67.322848, "longitude": 19.323204, "tags": [ "amet", "laboris", "cillum", "irure", "velit", "officia", "in" ], "friends": [ { "id": 0, "name": "Shanna Shelton" }, { "id": 1, "name": "Lucile Kelley" }, { "id": 2, "name": "Walker Hall" } ], "greeting": "Hello, Cherry Hendrix! You have 3 unread messages.", "favoriteFruit": "apple" }; var c = Object.assign(a, b);
spread
var a = { "_id": "66fbb8cedd880f8726d3430d", "index": 0, "guid": "0a9b7fd8-2e1c-423e-9129-a4b34edd6ea0", "isActive": false, "balance": "$3,498.70", "picture": "http://placehold.it/32x32", "age": 31, "eyeColor": "blue", "name": "Estrada Mcfarland", "gender": "male", "company": "BULLZONE", "email": "estradamcfarland@bullzone.com", "phone": "+1 (875) 565-3286", "address": "344 Oakland Place, Caledonia, Ohio, 8843", "about": "Cupidatat velit minim Lorem quis non. Ullamco magna qui commodo aliquip cillum anim ea aliqua. Tempor ullamco nulla cillum mollit veniam tempor ipsum ipsum culpa ipsum. Quis sit velit minim ad eiusmod veniam aliquip non anim veniam anim enim est cupidatat. Pariatur ipsum ipsum commodo irure laborum qui velit do est ullamco. Tempor velit ullamco Lorem non laboris culpa ullamco excepteur aliquip laboris cillum occaecat adipisicing anim.\r\n", "registered": "2014-01-31T12:10:19 -07:00", "latitude": 37.048423, "longitude": 131.714333, "tags": [ "reprehenderit", "ea", "esse", "ipsum", "Lorem", "dolor", "non" ], "friends": [ { "id": 0, "name": "Bender Battle" }, { "id": 1, "name": "Flowers Huff" }, { "id": 2, "name": "Amanda Armstrong" }]}; var b = { "_id": "66fbb8fb871c6f25070b297b", "index": 0, "guid": "65f9bf15-96b5-4e1c-8d17-a7b9f9f52cf3", "isActive": false, "balance": "$2,098.99", "picture": "http://placehold.it/32x32", "age": 39, "eyeColor": "blue", "name": "Cherry Hendrix", "gender": "female", "company": "MAGNINA", "email": "cherryhendrix@magnina.com", "phone": "+1 (842) 469-3783", "address": "645 Myrtle Avenue, Sharon, Nevada, 4405", "about": "Consequat Lorem Lorem quis ea mollit Lorem deserunt eiusmod elit. Eu est duis in incididunt exercitation consequat duis sint quis adipisicing nisi. Quis sunt excepteur laborum cillum cillum ea ullamco tempor duis esse eiusmod laboris. Velit aliquip consequat ullamco laboris laboris sit cillum commodo fugiat labore sint cillum consequat.\r\n", "registered": "2023-06-02T08:28:00 -07:00", "latitude": -67.322848, "longitude": 19.323204, "tags": [ "amet", "laboris", "cillum", "irure", "velit", "officia", "in" ], "friends": [ { "id": 0, "name": "Shanna Shelton" }, { "id": 1, "name": "Lucile Kelley" }, { "id": 2, "name": "Walker Hall" } ], "greeting": "Hello, Cherry Hendrix! You have 3 unread messages.", "favoriteFruit": "apple" }; var c = { ...a, ...b };
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (3)
Previous results
Fork
Test case name
Result
lodash merge
object.assign
spread
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/128.0.0.0 Safari/537.36
Browser/OS:
Chrome 128 on Mac OS X 10.15.7
View result in a separate tab
Embed
Embed Benchmark Result
Test name
Executions per second
lodash merge
307380.8 Ops/sec
object.assign
2835799.2 Ops/sec
spread
2574295.0 Ops/sec
Autogenerated LLM Summary
(model
llama3.2:3b
, generated one year ago):
It seems you're providing a large JSON object and its benchmark results, but I'll focus on the question about `spread` since that's what you've asked for. Given the JSON data: ```json { "name": "Bender Battle", "id": 0, "name": "Flowers Huff" } ``` and ```json var c = { ...a, ...b }; ``` The `spread` operator in JavaScript is used to create a new array with the elements of an existing array or object. It's often used to clone objects or arrays. To answer your question directly: **No**, there isn't enough context provided about how `c` relates to `a`, `b`, and `object.assign`. However, if you're asking about why `spread` is useful: The `spread` operator (`...`) can be used when spreading the elements of an array or object into a new array or object. Here's an example: ```javascript var a = ['Bender', 'Battle']; var b = ['Flowers', 'Huff']; console.log(a.concat(b)); // outputs ["Bender", "Battle", "Flowers", "Huff"] var c = [...a, ...b]; // using spread operator to create a new array console.log(c); // outputs ["Bender", "Battle", "Flowers", "Huff"] ``` In the context of your original data, without more information about how `c` is used or what the purpose of `object.assign` is here, it's hard to provide further details.
Related benchmarks:
lodash merge vs object.assign vs spread new obj
lodash.assign vs object.assign vs spread
lodash merge vs object.assign vs spread overwriting one property
lodash merge vs object.assign vs spread (no intermediate vars)
lodash assign vs object.assign vs spread operator - variable and constant
Comments
Confirm delete:
Do you really want to delete benchmark?