Run details:
Mozilla/5.0 (Linux; Android 10; ONEPLUS A5010) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.120 Mobile Safari/537.36
Chrome Mobile 91
Android
Mobile
3 years ago
Test name Executions per second
Shift loop 900.6 Ops/sec
Unrolled Loop 253.1 Ops/sec
Tests:
  • Shift loop

    AخA
     
    const arr = [];
    const ARRAY_SIZE = 5000;
    for (let i = 0; i < ARRAY_SIZE; i++) {
      arr.push(i);
    }
    while(arr.length) {
      let index = arr.shift();
      index++;
    }
  • Unrolled Loop

    x
     
    arr = [];
    const ARRAY_SIZE = 5000;
    for (let i = 0; i < ARRAY_SIZE; i++) {
      arr.push(i);
    }
    const arrSize = arr.length;
    for (let i = 0; i < arrSize; i++) {
      let index = arr[i];
      index++;
    }
    arr = [];