Script Preparation code:
AخA
 
var object = {};
for (let i = 1; i <= 100000; i++) object[String(i)] = i;
Tests:
  • for i < length

     
    for (let entries = Object.entries(object), i = -1, length = entries.length; ++i < length;) {
      const t = entries[i];
      window.k = t[0]
      window.v = t[1];
    }
  • .forEach(t)

     
    const entries = Object.entries(object);
    entries.forEach(([k, v]) => {
      window.k = k;
      window.v = v;
    });
  • for..of

     
    const entries = Object.entries(object);
    for (const [k, v] of entries) {
      window.k = k;
      window.v = v;
    }
  • for t = array[i]

     
    for (let entries = Object.entries(object), i = -1, t; t = entries[++i]; i) {
      window.k = t[0];
      window.v = t[1];
    }
  • for i=0; i in array

     
    for (let entries = Object.entries(object), i = -1; ++i in entries;) {
      const t = entries[i];
      window.k = t[0];
      window.v = t[1];
    }
  • for i in array,

     
    for (const k in object) {
      window.k = k;
      window.v = object[k];
    }
  • .reduce

     
    const entries = Object.entries(object)
    entries.reduce((_, [k, v]) => {
      window.k = k;
      window.v = v;
    });
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    for i < length
    .forEach(t)
    for..of
    for t = array[i]
    for i=0; i in array
    for i in array,
    .reduce

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one month ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36
Chrome 134 on Windows
View result in a separate tab
Test name Executions per second
for i < length 252.9 Ops/sec
.forEach(t) 247.6 Ops/sec
for..of 251.3 Ops/sec
for t = array[i] 251.0 Ops/sec
for i=0; i in array 257.2 Ops/sec
for i in array, 374.1 Ops/sec
.reduce 234.5 Ops/sec