Script Preparation code:
AخA
 
var array = []
var map = new Map()
var object = {}
for (var i = 0; i < 2000; i++) {
    array[i] = i;
    map.set(i.toString(), i);
    object[i.toString()] = i;
}
var results = []
Tests:
  • Array.forEach

     
    array.forEach(i => {
      results.push(i * 2)
    })
  • Array for...of

     
    for (const i of array) {
      results.push(i * 2)
    }
  • Map.forEach

     
    map.forEach(i => {
      results.push(i * 2)
    })
  • object for...in

     
    for (const i in object) {
      results.push(object[i] * 2)
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Array.forEach
    Array for...of
    Map.forEach
    object for...in

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 5 years ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15
Safari 13 on Mac OS X 10.15.3
View result in a separate tab
Test name Executions per second
Array.forEach 4747.5 Ops/sec
Array for...of 5720.8 Ops/sec
Map.forEach 4872.9 Ops/sec
object for...in 2268.4 Ops/sec