Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36
Chrome 126
Mac OS X 10.15.7
Desktop
2 years ago
Benchmark.js
spread
6.5M/s
obj.assign
3.0M/s
manual stack
1.3M/s
Ramda clone
1.2M/s
og hand rolled (still recursive)
1.1M/s
Lodash cloneDeep
800K/s
hand rolled
713K/s
Json clone
618K/s
View exact numbers
Test name Executions per second
spread 6,490,301 Ops/sec
obj.assign 3,036,136 Ops/sec
manual stack 1,263,554 Ops/sec
Ramda clone 1,199,268 Ops/sec
og hand rolled (still recursive) 1,057,317 Ops/sec
Lodash cloneDeep 800,412 Ops/sec
hand rolled 712,521 Ops/sec
Json clone 617,987 Ops/sec
HTML Preparation code:
Script Preparation code:
Tests: