Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.113 Safari/537.36
Chrome 53
Mac OS X 10.10.5
Other
8 years ago
Test name Executions per second
Shift loop 4490562.0 Ops/sec
Unrolled Loop 1748864.4 Ops/sec
Script Preparation code:
AخA
 
arr = [];
const ARRAY_SIZE = 5000;
for (let i = 0; i < ARRAY_SIZE; i++) {
  arr.push(i);
}
Tests:
  • Shift loop

     
    while(arr.length) {
      let index = arr.shift();
      index++;
    }
  • Unrolled Loop

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