Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Javascript recursiveDeepCopy Vs. Object.Assign
Comparing a deep copy function to assign for shallow copies.
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:149.0) Gecko/20100101 Firefox/149.0
Browser:
Firefox 149
Operating system:
Windows
Device Platform:
Desktop
Date tested:
5 days ago
Test name
Executions per second
Object.Assign
14863987.0 Ops/sec
recursiveDeepCopy
6455364.5 Ops/sec
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)