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.6M/s
obj.assign
3.1M/s
manual stack
1.3M/s
Ramda clone
1.2M/s
og hand rolled (still recursive)
1.1M/s
Lodash cloneDeep
814K/s
hand rolled
719K/s
Json clone
638K/s
View exact numbers
Test name Executions per second
spread 6,584,020 Ops/sec
obj.assign 3,086,149 Ops/sec
manual stack 1,283,300 Ops/sec
Ramda clone 1,177,021 Ops/sec
og hand rolled (still recursive) 1,068,572 Ops/sec
Lodash cloneDeep 814,214 Ops/sec
hand rolled 719,356 Ops/sec
Json clone 637,673 Ops/sec
HTML Preparation code:
Script Preparation code:
Tests: