Tests:
  • Array.apply(null, Array(n))

  • [...Array(n)]

  • Array(n).fill(null)

  • Array.from({ length: n })

  • Array.from({ length:n }, (item, i) => i)

  • Array.push

  • Array with length + push

  • new Array.fill(null)

Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results
  • Test case name Result
    Array.apply(null, Array(n))
    [...Array(n)]
    Array(n).fill(null)
    Array.from({ length: n })
    Array.from({ length:n }, (item, i) => i)
    Array.push
    Array with length + push
    new Array.fill(null)

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 months ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36
Chrome 132 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
Array.apply(null, Array(n)) 152088.0 Ops/sec
[...Array(n)] 188454.2 Ops/sec
Array(n).fill(null) 198871.3 Ops/sec
Array.from({ length: n }) 40026.1 Ops/sec
Array.from({ length:n }, (item, i) => i) 35139.2 Ops/sec
Array.push 337739.4 Ops/sec
Array with length + push 269604.0 Ops/sec
new Array.fill(null) 201916.1 Ops/sec