Script Preparation code:
x
 
var arr = [];
var i = 0;
while (i <= 1E5) arr[i] = i++;
Tests:
  • filter().map()

     
    arr.filter(x => x % 30).map(x => x/100)
  • flatMap()

     
    arr.flatMap(x => x % 30 ? x/100 : [])
  • for loop

     
    var accum = [];
    for (let i=0; i < arr.length; i++) {
      const x = arr[i];
      if (x % 30) { accum.push(x/100) }
    }
  • forEach

     
    var accum = [];
    arr.forEach((x) => {
      if (x % 30){ accum.push(x/100) } 
    })
  • for of loop

     
    var accum = [];
    for (const x of arr) {
      if (x % 30) { accum.push(x/100) }
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    filter().map()
    flatMap()
    for loop
    forEach
    for of loop

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 15 days ago)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36
Chrome 135 on Linux
View result in a separate tab
Test name Executions per second
filter().map() 263.9 Ops/sec
flatMap() 267.7 Ops/sec
for loop 503.8 Ops/sec
forEach 349.5 Ops/sec
for of loop 518.6 Ops/sec