Run details:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0) Gecko/20100101 Firefox/143.0
Firefox 143
Windows
Desktop
10 months ago
Benchmark.js
Object.assign shallow clone
42.3M/s
Native map(shallow clone)
42.1M/s
Native map deep slice(turns objects into arrays)
23.7M/s
Native map deep slice at 0(turns objects into arrays)
21.0M/s
Recursive deep clone
4.2M/s
Map deep clone
4.0M/s
Native JSON parse
615K/s
structuredClone
486K/s
Lodash cloneDeep
310K/s
View exact numbers
Test name Executions per second
Object.assign shallow clone 42,341,400 Ops/sec
Native map(shallow clone) 42,051,904 Ops/sec
Native map deep slice(turns objects into arrays) 23,708,104 Ops/sec
Native map deep slice at 0(turns objects into arrays) 20,977,390 Ops/sec
Recursive deep clone 4,158,344 Ops/sec
Map deep clone 3,996,389 Ops/sec
Native JSON parse 615,387 Ops/sec
structuredClone 486,366 Ops/sec
Lodash cloneDeep 309,527 Ops/sec
HTML Preparation code:
Script Preparation code:
Tests: