Script Preparation code:
x
 
  var arr = [];
  for (var i = 0; i < 1000; i++) {
    arr[i] = i;
  }
  function someFn(ix) {
    return ix * 5 + 1 / 3 * 8;
  }
Tests:
  • For loop, basic

     
    for (var i = 0; i < arr.length; i++) {
      someFn(arr[i]);
    }
  • While loop, basic

     
    var i = 0;
    while (i < arr.length) {
      someFn(arr[i]);
      i++;
    }
  • For loop, cached (inside for statement)

     
    for (var i = 0, len = arr.length; i < len; i++) {
      someFn(arr[i]);
    }
  • For loop, cached (outside for statement)

     
    var len = arr.length;
    for (var i = 0; i < len; i++) {
      someFn(arr[i]);
    }
  • For loop, i-- (caching inside for loop)

     
    for (var i = arr.length; i > 0; i--) {
      someFn(arr[i]);
    }
  • For loop, i-- (caching outside for loop)

     
    var i = arr.length;
    for (; i--;) {
      someFn(arr[i]);
    }
  • While loop, cached

     
    var len = arr.length;
    var i = 0;
    while(i < len){
      someFn(arr[i]);
      i++;
    }
  • While loop, i--

     
    var i = arr.length;
    while(i--){
      someFn(arr[i]);
    }
  • forEach

     
    arr.forEach(function(arrI){
      someFn(arrI);
    });
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    For loop, basic
    While loop, basic
    For loop, cached (inside for statement)
    For loop, cached (outside for statement)
    For loop, i-- (caching inside for loop)
    For loop, i-- (caching outside for loop)
    While loop, cached
    While loop, i--
    forEach

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 4 years ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36
Chrome 85 on Windows
View result in a separate tab
Test name Executions per second
For loop, basic 4090.4 Ops/sec
While loop, basic 4199.2 Ops/sec
For loop, cached (inside for statement) 6324.0 Ops/sec
For loop, cached (outside for statement) 6270.9 Ops/sec
For loop, i-- (caching inside for loop) 6440.5 Ops/sec
For loop, i-- (caching outside for loop) 6575.9 Ops/sec
While loop, cached 6004.6 Ops/sec
While loop, i-- 6242.0 Ops/sec
forEach 12254.4 Ops/sec