Por que o uso de um loop para iterar do início da matriz para o final é mais rápido do que a iteração do início ao fim e do início ao fim?

Dada uma matriz tendo.length 100 contendo elementos com valores0 para99 nos respectivos índices, onde o requisito é encontrar o elemento da matriz igual an : 51.

Por que o uso de um loop para iterar do início da matriz para o final é mais rápido do que a iteração do início ao fim e do início ao fim?

const arr = Array.from({length: 100}, (_, i) => i);
const n = 51;
const len = arr.length;

console.time("iterate from start");
for (let i = 0; i < len; i++) {
  if (arr[i] === n) break;
}
console.timeEnd("iterate from start");

const arr = Array.from({length: 100}, (_, i) => i);
const n = 51;
const len = arr.length;

console.time("iterate from start and end");
for (let i = 0, k = len - 1; i < len && k >= 0; i++, k--) {
  if (arr[i] === n || arr[k] === n) break;
}
console.timeEnd("iterate from start and end");

jsperfhttps://jsperf.com/iterate-from-start-iterate-from-start-and-end/1

questionAnswers(5)

yourAnswerToTheQuestion