Tests:

Historical Performance Data aggregated from 50 community runs

Desktop Results:
Chrome 39 runs
Push
66.4M/s
spread operator
56.0M/s
Array.prototype.concat
16.8M/s
Object assign
2.8M/s

Fastest: Push (24.0x faster)

View exact numbers
  • Push: 66,419,524 ops/sec
  • spread operator: 56,024,888 ops/sec
  • Array.prototype.concat: 16,821,766 ops/sec
  • Object assign: 2,769,591 ops/sec
Firefox 6 runs
Push
36.8M/s
spread operator
30.8M/s
Array.prototype.concat
28.9M/s
Object assign
6.5M/s

Fastest: Push (5.6x faster)

View exact numbers
  • Push: 36,776,576 ops/sec
  • spread operator: 30,828,732 ops/sec
  • Array.prototype.concat: 28,876,736 ops/sec
  • Object assign: 6,526,298 ops/sec
Safari 5 runs
spread operator
579.9M/s
Array.prototype.concat
45.6M/s
Push
16.1M/s
Object assign
9.4M/s

Fastest: spread operator (61.5x faster)

View exact numbers
  • spread operator: 579,928,064 ops/sec
  • Array.prototype.concat: 45,553,844 ops/sec
  • Push: 16,111,264 ops/sec
  • Object assign: 9,432,858 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
    Array.prototype.concat
    spread operator
    Push
    Object assign

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 3 days ago)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36
Chrome 153 on Linux
View result in a separate tab
Push
40.3M/s
spread operator
34.1M/s
Array.prototype.concat
10.5M/s
Object assign
1.7M/s
View exact numbers
Test name Executions per second
Push 40,316,092 Ops/sec
spread operator 34,116,620 Ops/sec
Array.prototype.concat 10,543,207 Ops/sec
Object assign 1,712,041 Ops/sec