Run details:
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Mobile Safari/537.36
Chrome Mobile 129
Android
Mobile
one year ago
Benchmark.js
Native map(shallow clone)
7.3M/s
Object.assign shallow clone
4.4M/s
Native map deep slice at 0(turns objects into arrays)
4.0M/s
Native map deep slice(turns objects into arrays)
4.0M/s
Native JSON parse
465K/s
Lodash cloneDeep
314K/s
Map deep clone
307K/s
Recursive deep clone
283K/s
structuredClone
176K/s
View exact numbers
Test name Executions per second
Native map(shallow clone) 7,327,212 Ops/sec
Object.assign shallow clone 4,448,020 Ops/sec
Native map deep slice at 0(turns objects into arrays) 4,042,608 Ops/sec
Native map deep slice(turns objects into arrays) 4,005,226 Ops/sec
Native JSON parse 465,019 Ops/sec
Lodash cloneDeep 313,696 Ops/sec
Map deep clone 307,126 Ops/sec
Recursive deep clone 282,548 Ops/sec
structuredClone 176,345 Ops/sec
HTML Preparation code:
Script Preparation code:
Tests: