В случае B каждый раз во время цикла среда выполнения вызывает код для получения длины массива.
В A это делается один раз, и результат сохраняется.
Я всегда думал, что среда выполнения оптимизирует этот цикл, и они будут одинаковыми. Ваши результаты значительно отличаются? Вы провели тест несколько раз, чтобы увидеть, что он постоянно отличается?