Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Javascript recursiveDeepCopy Vs. Object.Assign
(version: 1)
Comparing a deep copy function to assign for shallow copies.
Comparing performance of:
Object.Assign vs recursiveDeepCopy
Created:
5 days ago
by:
Guest
Jump to the latest result
HTML Preparation code:
<!--your preparation HTML code goes here-->
Script Preparation code:
var foo = { name: "Title", size: "38041292", crc: "a0e2ece5", md5: "db0111e93941df77fcb9e911604a7667", sha1: "8071353940df7f22a178c401819af4bfd0d3727e" }
Tests:
Object.Assign
const clonedObject = Object.assign({}, foo);
recursiveDeepCopy
function recursiveDeepCopy(o) { let newO, i; if (typeof o !== 'object') { return o; } if (!o) { return o; } if (Array.isArray(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; } const clonedObject = recursiveDeepCopy(foo)
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (2)
Previous results
Fork
Test case name
Result
Object.Assign
recursiveDeepCopy
Fastest:
N/A
Slowest:
N/A
Latest run results:
Run details:
(Test run date:
4 days ago
)
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36
Browser/OS:
Chrome 149 on Mac OS X 10.15.7
View result in a separate tab
Embed
Embed Benchmark Result
Test name
Executions per second
Object.Assign
21867256.0 Ops/sec
recursiveDeepCopy
16703572.0 Ops/sec
Comments
Confirm delete:
Do you really want to delete benchmark?