Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Array loop vs for loop vs for loop cached
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36
Browser:
Chrome 121
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
2 years ago
for each
32K/s
foreach
32K/s
for each cached
31K/s
for each cached reversed
31K/s
map
29K/s
View exact numbers
Test name
Executions per second
✓
for each
31,745 Ops/sec
foreach
31,544 Ops/sec
for each cached
31,345 Ops/sec
for each cached reversed
31,112 Ops/sec
map
29,405 Ops/sec
Script Preparation code:
function getArr() { return Array(1000).fill(1); // var arr = []; // for (var i = 0; i < 1000; i++) { // arr[i] = i; // } // return arr; } function someFn(i) { return i * 3 * 8; }
Tests:
foreach
var arr = getArr(); arr.forEach((item) => { someFn(item); })
map
var arr = getArr(); arr.map(item => someFn(item));
for each
var arr = getArr(); for (var i = 0; i < arr.length; i++) { someFn(arr[i]); }
for each cached
var arr = getArr(); for (var i = 0, len = arr.length; i < len; i++) { someFn(arr[i]); }
for each cached reversed
var arr = getArr(); for (var i = arr.length - 1; i >= 0; i--) { someFn(arr[i]); }