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 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0
Browser:
Firefox 133
Operating system:
Windows
Device Platform:
Desktop
Date tested:
one year ago
Array.from({ length:n }, (item, i) => i)
111K/s
Array(n).fill(null)
89K/s
Array.from({ length: n })
82K/s
[...Array(n)]
55K/s
Array.apply(null, Array(n))
19K/s
View exact numbers
Test name
Executions per second
✓
Array.from({ length:n }, (item, i) => i)
111,016 Ops/sec
Array(n).fill(null)
89,303 Ops/sec
Array.from({ length: n })
82,273 Ops/sec
[...Array(n)]
55,415 Ops/sec
Array.apply(null, Array(n))
19,366 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);