Script Preparation code:
x
 
  var arr = [];
  for (var i = 0; i < 10000; i++) {
    arr.push(i);
  }
var sum = 0;
Tests:
  • For loop, basic

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

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

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

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

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

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

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

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

     
    arr.forEach(function(val){
      sum += val;
    });
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: 7 years ago)
Mozilla/5.0 (Linux; Android 6.0.1; SAMSUNG SM-T805 Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/6.4 Chrome/56.0.2924.87 Safari/537.36
Chrome 56 on Android 6.0.1
View result in a separate tab
Test name Executions per second
For loop, basic 34.3 Ops/sec
While loop, basic 33.9 Ops/sec
For loop, cached (inside for statement) 45.5 Ops/sec
For loop, cached (outside for statement) 45.6 Ops/sec
For loop, i-- (caching inside for loop) 43.8 Ops/sec
For loop, i-- (caching outside for loop) 39.0 Ops/sec
While loop, cached 44.1 Ops/sec
While loop, i-- 46.4 Ops/sec
forEach 51.7 Ops/sec