Script Preparation code:
AخA
 
var arr = [];
for (let j=0; j < 1000000; j++ ) {
  arr.push(j);
}
Tests:
  • Reduce

     
    const r = arr.reduce( (p,c) => p+c, 0);
  • for..of

     
    let r=0; for (v of arr) { r+=v; }
  • for

     
    let r = 0; const l = arr.length; for (var i=0; i < l; i++ ) { r += arr[i]; }
  • foreach

     
    let r = 0; arr.forEach( (v) => r += v );
  • for..of with const

     
    let r=0; for (const v of arr) { r+=v; }
  • for again

     
    let r = 0, i=0; const l = arr.length; for (;i < l;) { r += arr[i++]; }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Reduce
    for..of
    for
    foreach
    for..of with const
    for again

    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/88.0.4324.104 Safari/537.36
Chrome 88 on Windows
View result in a separate tab
Test name Executions per second
Reduce 50.7 Ops/sec
for..of 1.9 Ops/sec
for 8.3 Ops/sec
foreach 31.6 Ops/sec
for..of with const 751.6 Ops/sec
for again 8.2 Ops/sec