Script Preparation code:
AخA
 
var obj = {
    'a': 1,
    'b': 2,
    'c': 3,
    'd': 4,
    'e': 5,
    'f': 6,
    'g': 7,
    'h': 8,
    'i': 9,
    'j': 10,
    'k': 11,
    'l': 12,
    'm': 13,
    'n': 14,
    'o': 15,
    'p': 16,
    'q': 17,
    'r': 18,
    's': 19,
    't': 20,
    'u': 21,
    'v': 22,
    'w': 23,
    'x': 24,
    'y': 25,
    'z': 26
};
Tests:
  • Object.keys

     
    for (var i = 0; i < 1000; i++) {
      Object.keys(obj).forEach(key => console.log(key));
    }
  • for-in with var

     
    for (var i = 0; i < 1000; i++) {
      for (var key in obj) {
          console.log(key); 
      }
    }
  • for-in with let

     
    for (let i = 0; i < 1000; i++) {
      for (let key in obj) {
          console.log(key); 
      }
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Object.keys
    for-in with var
    for-in with let

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 3 years ago)
Mozilla/5.0 (iPhone; CPU iPhone OS 15_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1
Mobile Safari 15 on iOS 15.4
View result in a separate tab
Test name Executions per second
Object.keys 44.2 Ops/sec
for-in with var 52.0 Ops/sec
for-in with let 52.1 Ops/sec