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:122.0) Gecko/20100101 Firefox/122.0
Browser:
Firefox 122
Operating system:
Windows
Device Platform:
Desktop
Date tested:
2 years ago
Array.from({ length:n }, (item, i) => i)
123K/s
Array(n).fill(null)
95K/s
Array.from({ length: n })
94K/s
[...Array(n)]
59K/s
Array.apply(null, Array(n))
20K/s
View exact numbers
Test name
Executions per second
✓
Array.from({ length:n }, (item, i) => i)
123,275 Ops/sec
Array(n).fill(null)
95,005 Ops/sec
Array.from({ length: n })
94,368 Ops/sec
[...Array(n)]
58,716 Ops/sec
Array.apply(null, Array(n))
20,428 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);