Script Preparation code:
AخA
 
var props = {a:1,b:1,c:1,d:1,e:1,f:1,g:1,h:1,i:1,j:1,k:1,l:1,m:1,n:1,o:1,p:1,q:1,r:1,s:1,t:1,u:1,v:1,w:1,x:1,y:1,z:1};
for (var i=0;i<1000;i++){
  var key = i.toString();
  props[i]=i;
}
Tests:
  • hasOwnProperty

     
    for (const p in props) {
      if (Object.prototype.hasOwnProperty.call(props, p)) {
        props[p] = 2;
      }
    }
  • for (var k=Object.keys(props), [...]

     
    for (var k=Object.keys(props), l=k.length, i=0; i<l; i++) {
      props[k[i]] = 2;
    }
  • for (var k_i=0;k_i<keys_l;k_i++

     
    const keys = Object.keys(props);
    const keys_l = keys.length;
    for (var k_i=0;k_i<keys_l;k_i++){
      const k=keys[k_i]
      props[k] = 2
    }
  • for (const key in Object.keys(props))

     
    for (const key in Object.keys(props)){
      props[key] = 2
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    hasOwnProperty
    for (var k=Object.keys(props), [...]
    for (var k_i=0;k_i<keys_l;k_i++
    for (const key in Object.keys(props))

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 13 days ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0
Chrome 134 on Windows
View result in a separate tab
Test name Executions per second
hasOwnProperty 43399.1 Ops/sec
for (var k=Object.keys(props), [...] 99700.2 Ops/sec
for (var k_i=0;k_i<keys_l;k_i++ 100077.6 Ops/sec
for (const key in Object.keys(props)) 293.4 Ops/sec