for loop vs forCada rendimiento en javascript y credibilidad de los resultados de jsperf

No confío en los resultados de jsperf que mide el rendimiento de for loop vs forEach. Al menos para Chrome y Firefox en mi máquina, los resultados son completamente diferentes a los que se anuncian en jsperf.
http: //jsperf.com/foreach-vs-loo (mía
http: //jsben.ch/#/BQhE (más popular
En mi computadora portátil con Ubuntu 11.10, tengo los siguientes resultados en Firefox:

for: total=1641 ms, avg=164.1 ms  
forEach: total=339 ms, avg=33.9 ms  

uname -a:  
Linux 3.0.0-16-generic #29-Ubuntu SMP Tue Feb 14 12:48:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

Desafortunadamente, Chrome no devuelve el resultado de console.timeEnd () pero los tiempos de ejecución son los mismos y más rápidos en Chrome. Estoy observando eso para cada 10 veces más rápido que para el bucle en Chrome, y 3 veces más rápido en Firefox.
En Chrome obtengo aproximadamente estos tiempos de ejecución:

for: avg=80 ms
forEach: avg=6 ms

Aquí está el código que ejecuté en la consola de Firefox y Chrome.

var arr = [];
for(var i = 0; i < 100000; i++) arr[i]=i;

var numberOfRuns = 10;

function time(name, f){
    console.time(name);
    f();
    return console.timeEnd(name);
}

function runTest(name, f){
    var totalTime = 0;
    for(var r = 0; r < numberOfRuns; r++)
        totalTime += time(name,f);
    return totalTime;
}

var forTime = runTest('for', function(){
    for(var j = 0; j < arr.length; j++)
        arr[j];    
});
var forEachTime = runTest('forEach', function(){
    arr.forEach(function(v){v;});
});

console.log('for', {total:forTime, avg:forTime / numberOfRuns});
console.log('forEach', {total:forEachTime, avg:forEachTime / numberOfRuns});

La ejecución de las pruebas para un millón de artículos tiene la misma diferencia de rendimiento. ¿Podría decirme si me falta algo y debo confiar en los resultados de jsperf en lugar de los resultados reales que estoy observando? Por supuesto, confío en los resultados reales que puedo ver aquí y ahora en mi navegador.

EDIT: el escenario de prueba no es objetivo como se descubrió durante la discusión con @Blender. Parece que el optimizador js optimiza cada bucle sin ninguna acción y, por lo tanto, oscurece el tiempo de ejecución si hubiera algún código real.

Respuestas a la pregunta(6)

Su respuesta a la pregunta