Script Preparation code:
AخA
 
var obj =[...new Array(10000)].reduce((o,_,i)=>{
    o[i+'-id']={id:i};
    return o;
},{});
Tests:
  • for-in

     
    for (var key in obj) {
          console.log(obj[key].id); 
      }
  • Object.keys

     
      Object.keys(obj).forEach(key => console.log(obj[key].id));
  • Object.values

     
      Object.values(obj).forEach(n => console.log(n.id));
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    for-in
    Object.keys
    Object.values

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.5845.713 YaBrowser/23.9.5.713 (corp) Yowser/2.5 Safari/537.36
Yandex Browser 23 on Windows
View result in a separate tab
Test name Executions per second
for-in 31.1 Ops/sec
Object.keys 34.3 Ops/sec
Object.values 34.2 Ops/sec