Microbenchmarking: Looping em Javascript

É hora de caça-mitos .. ou não?

Todos nós ouvimos que em um loop for, é melhor externalizar e armazenar em cache o arr.length em vez de acessá-lo com cada loop.
É realmente?

Eu criei este pequeno exemplo JsPerf para testar isso em vários navegadores e comparar os resultados.
http://jsperf.com/best-looping-methods

Os resultados são bastante interessantes:
1. Em todos os navegadores, um for: na sintaxe é quase 90% mais lento do que outros métodos!
2. No Chrome, mesmo se você estiver fazendo uma microbanquia, as variações são desprezíveis (para: ao lado).
3. FireFox em loops for é quase duas vezes mais rápido que o Chrome!
4. Apenas o Safari não armazena em cache automaticamente o arr.length, o que afeta o desempenho.

Resumindo , ao codificar um caminho crítico em seu programa, isso pode realmente fazer diferença, então é melhor armazenar esse comprimento em cache!