Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36
Chrome 141
Mac OS X 10.15.7
Desktop
10 months ago
Benchmark.js
Native map(shallow clone)
13.1M/s
Object.assign shallow clone
12.4M/s
Native map deep slice at 0(turns objects into arrays)
11.6M/s
Native map deep slice(turns objects into arrays)
11.5M/s
Map deep clone
2.8M/s
Recursive deep clone
2.6M/s
Native JSON parse
820K/s
Lodash cloneDeep
553K/s
structuredClone
415K/s
View exact numbers
Test name Executions per second
Native map(shallow clone) 13,079,827 Ops/sec
Object.assign shallow clone 12,424,466 Ops/sec
Native map deep slice at 0(turns objects into arrays) 11,552,976 Ops/sec
Native map deep slice(turns objects into arrays) 11,514,047 Ops/sec
Map deep clone 2,757,374 Ops/sec
Recursive deep clone 2,619,319 Ops/sec
Native JSON parse 819,709 Ops/sec
Lodash cloneDeep 552,925 Ops/sec
structuredClone 414,797 Ops/sec
HTML Preparation code:
Script Preparation code:
Tests: