Run details:
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Mobile Safari/537.36
Chrome Mobile 136
Android
Mobile
one year ago
Benchmark.js
Native map(shallow clone)
5.3M/s
Object.assign shallow clone
5.0M/s
Native map deep slice(turns objects into arrays)
4.7M/s
Native map deep slice at 0(turns objects into arrays)
4.6M/s
Map deep clone
1.3M/s
Recursive deep clone
1.3M/s
Native JSON parse
384K/s
Lodash cloneDeep
244K/s
structuredClone
126K/s
View exact numbers
Test name Executions per second
Native map(shallow clone) 5,330,465 Ops/sec
Object.assign shallow clone 4,962,884 Ops/sec
Native map deep slice(turns objects into arrays) 4,668,214 Ops/sec
Native map deep slice at 0(turns objects into arrays) 4,578,751 Ops/sec
Map deep clone 1,298,106 Ops/sec
Recursive deep clone 1,276,143 Ops/sec
Native JSON parse 383,912 Ops/sec
Lodash cloneDeep 244,467 Ops/sec
structuredClone 125,688 Ops/sec
HTML Preparation code:
Script Preparation code:
Tests: