Script Preparation code:
x
 
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...'
  }
};
var myCopy = null;
Tests:
  • JSON.stringify

     
    var obj = {
       [Math.random(2000).toString()]: Math.random(2000).toString(),
       ...MyObject,
      [Math.random(2000).toString()]: Math.random(2000).toString(),
    };
    myCopy = JSON.parse(JSON.stringify(obj));
  • structuredClone

     
    var obj = {
       [Math.random(2000).toString()]: Math.random(2000).toString(),
       ...MyObject,
      [Math.random(2000).toString()]: Math.random(2000).toString(),
    };
    myCopy = structuredClone(obj);
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    JSON.stringify
    structuredClone

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36
Chrome 113 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
JSON.stringify 90733.9 Ops/sec
structuredClone 82405.9 Ops/sec