HTML Preparation code:
Tests:

Historical Performance Data aggregated from 154 community runs

Desktop Results:
Chrome 106 runs
slice()
40.1M/s
spread ...
36.9M/s
concat()
32.2M/s
splice(0)
29.2M/s
JSON.parse(JSON.stringify())
2.0M/s
Custom function
1.6M/s
Lodash.cloneDeep()
1.1M/s
jQuery.extend(true)
1.1M/s

Fastest: slice() (37.7x faster)

View exact numbers
  • slice(): 40,103,256 ops/sec
  • spread ...: 36,896,952 ops/sec
  • concat(): 32,238,120 ops/sec
  • splice(0): 29,242,748 ops/sec
  • JSON.parse(JSON.stringify()): 1,960,636 ops/sec
  • Custom function: 1,582,132 ops/sec
  • Lodash.cloneDeep(): 1,130,643 ops/sec
  • jQuery.extend(true): 1,063,475 ops/sec
Firefox 37 runs
slice()
26.2M/s
concat()
23.3M/s
spread ...
16.1M/s
splice(0)
15.6M/s
Custom function
2.4M/s
JSON.parse(JSON.stringify())
1.6M/s
Lodash.cloneDeep()
1.3M/s
jQuery.extend(true)
1.1M/s

Fastest: slice() (24.1x faster)

View exact numbers
  • slice(): 26,225,306 ops/sec
  • concat(): 23,272,356 ops/sec
  • spread ...: 16,087,870 ops/sec
  • splice(0): 15,555,317 ops/sec
  • Custom function: 2,350,009 ops/sec
  • JSON.parse(JSON.stringify()): 1,561,596 ops/sec
  • Lodash.cloneDeep(): 1,291,071 ops/sec
  • jQuery.extend(true): 1,086,476 ops/sec
Safari 5 runs
spread ...
25.8M/s
slice()
21.7M/s
splice(0)
14.5M/s
concat()
9.9M/s
JSON.parse(JSON.stringify())
1.7M/s
Lodash.cloneDeep()
1.4M/s
Custom function
1.4M/s
jQuery.extend(true)
898K/s

Fastest: spread ... (28.7x faster)

View exact numbers
  • spread ...: 25,791,594 ops/sec
  • slice(): 21,696,644 ops/sec
  • splice(0): 14,547,287 ops/sec
  • concat(): 9,881,104 ops/sec
  • JSON.parse(JSON.stringify()): 1,707,640 ops/sec
  • Lodash.cloneDeep(): 1,444,146 ops/sec
  • Custom function: 1,391,286 ops/sec
  • jQuery.extend(true): 898,275 ops/sec
Mobile Results:
Chrome 6 runs
slice()
18.5M/s
spread ...
17.7M/s
concat()
16.0M/s
splice(0)
13.0M/s
JSON.parse(JSON.stringify())
993K/s
Custom function
787K/s
jQuery.extend(true)
581K/s
Lodash.cloneDeep()
565K/s

Fastest: slice() (32.6x faster)

View exact numbers
  • slice(): 18,452,868 ops/sec
  • spread ...: 17,681,648 ops/sec
  • concat(): 15,965,518 ops/sec
  • splice(0): 13,027,082 ops/sec
  • JSON.parse(JSON.stringify()): 993,114 ops/sec
  • Custom function: 786,716 ops/sec
  • jQuery.extend(true): 581,072 ops/sec
  • Lodash.cloneDeep(): 565,228 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
    spread ...
    slice()
    splice(0)
    concat()
    JSON.parse(JSON.stringify())
    Custom function
    Lodash.cloneDeep()
    jQuery.extend(true)

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one month ago)
Mozilla/5.0 (Android 17; Mobile; rv:153.0) Gecko/153.0 Firefox/153.0
Firefox Mobile 153 on Android
View result in a separate tab
slice()
13.8M/s
concat()
12.9M/s
splice(0)
11.3M/s
spread ...
10.5M/s
Custom function
1.5M/s
JSON.parse(JSON.stringify())
1.4M/s
jQuery.extend(true)
1.0M/s
Lodash.cloneDeep()
997K/s
View exact numbers
Test name Executions per second
slice() 13,774,245 Ops/sec
concat() 12,905,778 Ops/sec
splice(0) 11,328,506 Ops/sec
spread ... 10,519,873 Ops/sec
Custom function 1,469,194 Ops/sec
JSON.parse(JSON.stringify()) 1,364,106 Ops/sec
jQuery.extend(true) 1,039,348 Ops/sec
Lodash.cloneDeep() 996,589 Ops/sec