Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
JS loops comparison
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:123.0) Gecko/20100101 Firefox/123.0
Browser:
Firefox 123
Operating system:
Mac OS X 10.15
Device Platform:
Desktop
Date tested:
2 years ago
indexed loop (assign)
43K/s
indexed loop (push)
39K/s
.map
23K/s
iterator loop
20K/s
.forEach (assign)
19K/s
.forEach (push)
17K/s
View exact numbers
Test name
Executions per second
✓
indexed loop (assign)
42,953 Ops/sec
indexed loop (push)
38,872 Ops/sec
.map
22,908 Ops/sec
iterator loop
20,024 Ops/sec
.forEach (assign)
19,120 Ops/sec
.forEach (push)
16,503 Ops/sec
Script Preparation code:
var data = [...Array(10000).keys()]
Tests:
.map
const result = data.map(x => x + 1)
iterator loop
const result = []; for (const val of data) { result.push(val + 1); }
indexed loop (assign)
const result = new Array(data.length); for (let i = 0; i < data.length; i++) { result[i] = data[i] + 1; }
.forEach (assign)
const result = new Array(data.length); data.forEach((value, i) => result[i] = value + 1);
indexed loop (push)
const result = []; for (let i = 0; i < data.length; i++) { result.push(data[i] + 1); }
.forEach (push)
const result = []; data.forEach((value, i) => result.push(value + 1));