HTML Preparation code:
Script Preparation code:
Tests:

Historical Performance Data aggregated from 24 community runs

Desktop Results:
Chrome 19 runs
spread
10.2M/s
obj.assign
5.4M/s
Ramda clone
2.2M/s
Lodash cloneDeep
1.4M/s
hand rolled
1.3M/s
Json clone
1.1M/s

Fastest: spread (9.0x faster)

View exact numbers
  • spread: 10,223,520 ops/sec
  • obj.assign: 5,358,399 ops/sec
  • Ramda clone: 2,210,376 ops/sec
  • Lodash cloneDeep: 1,443,522 ops/sec
  • hand rolled: 1,290,737 ops/sec
  • Json clone: 1,136,856 ops/sec
Mobile Results:
Chrome 5 runs
spread
3.7M/s
obj.assign
1.9M/s
Ramda clone
830K/s
Lodash cloneDeep
556K/s
Json clone
436K/s
hand rolled
384K/s

Fastest: spread (9.7x faster)

View exact numbers
  • spread: 3,724,180 ops/sec
  • obj.assign: 1,885,659 ops/sec
  • Ramda clone: 830,383 ops/sec
  • Lodash cloneDeep: 555,921 ops/sec
  • Json clone: 436,469 ops/sec
  • hand rolled: 383,613 ops/sec

Results show median performance across all community submissions. Run this benchmark yourself to verify on your device.

Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results
  • Test case name Result
    Lodash cloneDeep
    Json clone
    Ramda clone
    hand rolled
    spread
    obj.assign

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36
Chrome 136 on Mac OS X 10.15.7
View result in a separate tab
spread
15.0M/s
obj.assign
14.7M/s
Ramda clone
3.9M/s
hand rolled
3.1M/s
Lodash cloneDeep
2.1M/s
Json clone
1.9M/s
View exact numbers
Test name Executions per second
spread 14,967,252 Ops/sec
obj.assign 14,679,841 Ops/sec
Ramda clone 3,918,198 Ops/sec
hand rolled 3,123,059 Ops/sec
Lodash cloneDeep 2,120,646 Ops/sec
Json clone 1,913,437 Ops/sec