Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
compare the ways to generate an empty array for iteration
- Array.apply: Array.apply(null, Array(100)) - Destructuring operator: [...Array(100)] - Array.prototype.fill Array(100).fill(undefined) - Array.from Array.from({ length: 100 })
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:136.0) Gecko/20100101 Firefox/136.0
Browser:
Firefox 136
Operating system:
Mac OS X 10.15
Device Platform:
Desktop
Date tested:
one year ago
Array.from({ length:n }, (item, i) => i)
197K/s
Array(n).fill(null)
149K/s
Array.from({ length: n })
137K/s
[...Array(n)]
102K/s
Array.apply(null, Array(n))
26K/s
View exact numbers
Test name
Executions per second
✓
Array.from({ length:n }, (item, i) => i)
197,322 Ops/sec
Array(n).fill(null)
149,100 Ops/sec
Array.from({ length: n })
136,813 Ops/sec
[...Array(n)]
102,374 Ops/sec
Array.apply(null, Array(n))
26,220 Ops/sec
Tests:
Array.apply(null, Array(n))
Array.apply(null, Array(1000)).map((item, i) => i);
[...Array(n)]
[...Array(1000)].map((item, i) => i);
Array(n).fill(null)
Array(1000).fill(null).map((item, i) => i);
Array.from({ length: n })
Array.from({ length: 1000 }).map((item, i) => i);
Array.from({ length:n }, (item, i) => i)
Array.from({ length:1000 }, (item, i) => i);