Script Preparation code:
x
 
function generateLargeTestRef() {
  const testRef = {};
  for (let i = 0; i < 50; i++) {
    testRef[`prop${i}`] = "x".repeat(10**6); // 1 million de caractères
  }
  return testRef;
}
// Créer le testRef_large avec 50 propriétés
const testRef_large = generateLargeTestRef();
// Créer 10 000 testObject avec 3 références à testRef_large
const testObject = Array.from({ length: 10000 }, () => ({
  a: testRef_large,
  b: testRef_large,
  c: testRef_large,
}));
// Créer 10 000 testObject2 avec 5 références à testRef_large
const testObject2 = Array.from({ length: 10000 }, () => ({
  a: testRef_large,
  b: testRef_large,
  c: testRef_large,
  e: testRef_large,
  f: testRef_large,
}));
Tests:
  • forEach 1

     
     testObject.forEach(item => {
      });
  • forEach 2

     
     testObject2.forEach(item => {
      });
  • for loop 1

     
      for (let i = 0; i < testObject.length; i++) {
        const item = testObject[i];
      }
  • for loop 2

     
    for (let i = 0; i < testObject2.length; i++) {
        const item = testObject2[i];
      }
  • for loop 1-2

     
      for (let i = 0, l = testObject.length; i < l; i++) {
        const item = testObject[i];
      }
  • for loop 2-2

     
    for (let i = 0, l = testObject2.length; i < l; i++) {
        const item = testObject2[i];
      }
  • for-in

     
      for (let key in testObject) {  }
  • for-in 2

     
    for (let key in testObject2) {  }
  • for-of

     
      for (let item of testObject) {  }
  • for-of 2

     
    for (let item of testObject2) {  }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    forEach 1
    forEach 2
    for loop 1
    for loop 2
    for loop 1-2
    for loop 2-2
    for-in
    for-in 2
    for-of
    for-of 2

    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/133.0.0.0 Safari/537.36
Chrome 133 on Windows
View result in a separate tab
Test name Executions per second
forEach 1 359399.3 Ops/sec
forEach 2 354638.5 Ops/sec
for loop 1 63179.2 Ops/sec
for loop 2 62977.0 Ops/sec
for loop 1-2 87915.4 Ops/sec
for loop 2-2 88056.8 Ops/sec
for-in 7650.0 Ops/sec
for-in 2 7875.3 Ops/sec
for-of 394294.8 Ops/sec
for-of 2 396475.8 Ops/sec