Script Preparation code:
x
 
var vertices = [
      [1, 0, 0, 0],
      [0, 1, 0, 0],
      [0, 0, 1, 0],
      [0, 0, 0, 1],
    ]
var myCopy = null;
Tests:
  • JSON.stringify

     
    myCopy = JSON.parse(JSON.stringify(vertices));
  • slice

     
    myCopy = vertices.map(row => row.slice());
  • Array from

     
    myCopy = vertices.map(row => Array.from(row))
  • Spread

     
    myCopy = vertices.map(row => [...row])
  • structuredClone

     
    myCopy = structuredClone(vertices)
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    JSON.stringify
    slice
    Array from
    Spread
    structuredClone

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 years ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/111.0
Firefox 111 on Mac OS X 10.15
View result in a separate tab
Test name Executions per second
JSON.stringify 1476443.8 Ops/sec
slice 6490270.0 Ops/sec
Array from 4155363.8 Ops/sec
Spread 6255413.5 Ops/sec
structuredClone 768376.2 Ops/sec