Script Preparation code:
AخA
 
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]);
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    foreach
    map
    for each
    for each cached
    for each cached reversed

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (Android 13; Mobile; rv:122.0) Gecko/122.0 Firefox/122.0
Firefox Mobile 122 on Android
View result in a separate tab
Test name Executions per second
foreach 54208.8 Ops/sec
map 26685.7 Ops/sec
for each 79064.2 Ops/sec
for each cached 77794.3 Ops/sec
for each cached reversed 92935.9 Ops/sec