Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36
Chrome 121
Mac OS X 10.15.7
Desktop
2 years ago
Benchmark.js
spread
9.2M/s
obj.assign
5.9M/s
Ramda clone
2.7M/s
manual stack
2.3M/s
og hand rolled (still recursive)
2.0M/s
Lodash cloneDeep
1.7M/s
hand rolled
1.3M/s
Json clone
1.3M/s
View exact numbers
Test name Executions per second
spread 9,209,608 Ops/sec
obj.assign 5,913,967 Ops/sec
Ramda clone 2,672,121 Ops/sec
manual stack 2,337,875 Ops/sec
og hand rolled (still recursive) 2,030,082 Ops/sec
Lodash cloneDeep 1,731,033 Ops/sec
hand rolled 1,330,835 Ops/sec
Json clone 1,289,972 Ops/sec
HTML Preparation code:
Script Preparation code:
Tests: