¿Internet Explorer 9 hace trampa en las pruebas de SunSpider?

Webkit Sunspider JavaScript Benchmark Results. IE9 Platform Preview 7 is fastest followed by Chrome 8 Beta Opera 11 Alpha Opera 10.63 Chrome 7 FF 4 Pre Release Safari 5.0.2 FF 3.6.12 and IE8 ¿Internet Explorer 9 hace trampa en las pruebas de SunSpider?

El día de ayer salieron a relucir algunos resultados bastante interesantes en referencia a las pruebas de desempeño realizadas a Internet Explorer 9 en el benchmark de JavaScript SunSpider. Por alguna razón esta noticia no ha dado mucho de qué hablar; algo particularmente importante debido a que se trata de Microsoft y sus supuestas afirmaciones de su navegador estrella.

La prueba de SunSpider es una prueba de Javascript desarrollada por Apple que se ha convertido en una buena medida de desempeño de navegadores. En esta prueba existe una sección específica, math-cordic, en la cual Internet Explorer 9 es 10 veces más rápido que sus competidores. Mientras Opera y Chrome se tardan entre 8 y 10 milisegundos, a Internet Explorer 9 le toma solo 1ms para llevar a cabo la prueba.

Un ingeniero de Mozilla, Rob Sayre, se dio a la tarea de investigar qué es lo que sucede con esta prueba en particular y decidió modificar un poco el código. Básicamente modifico la prueba de math-cordic para que al final regresara un valor booleano, ya sea true o return; valores que no deberían de impactar la prueba significativamente.

Los resultados con estos cambios fueron desconcertadores. Con estas nuevas variaciones Internet Explorer se tomó cerca de 20 veces más en realizar la prueba, es decir, cerca de 20ms mientras que Opera y Chrome continuaron sin variaciones.ie math ¿Internet Explorer 9 hace trampa en las pruebas de SunSpider?

¿Cuál es la explicación del comportamiento de Internet Explorer?

La gente de Digitizer y de Hacker News, independientemente, llegaron a diferentes conclusiones:

  1. Microsoft hizo trampa al optimizar Internet Explorer 9 con el solo propósito de salir mejor en la prueba de SunSpider.
  2. Los ingenieros de Microsoft al trabajar con pruebas de SunSpider sobre-optimizaron el motor de JavaScript.
  3. Puede ser que sea un bug verdadero en el motor de Javascript y al añadir los cambios en la prueba de math-cordic salieron a la luz y por eso muestran tal desempeño.
  4. El bug podría ser atribuido a SunSpider y no a Internet Explorer.

Microsoft responde

En vista a las acusaciones Microsoft ya ha actualizado el blog de desarrolladores de Internet Explorer 9 y le han atribuido la discrepancia a la eliminación de código muerto en su motor de Javascript. Al parecer SunSpider está escrito de tal manera que invoca estas optimizaciones y si se re-escribiera la prueba los resultados concordarían con los otros navegadores.

Social Media

Logit42, Rapidamente...

Para saber de qué trata este blog basta con dar un vistazo por la página principal o visitar alguna de las entradas al azar seleccionadas de nuestros archivos. También es posible seguirnos vía RSS, Twitter o Facebook.

Más: Acerca de Logit42Ale en TwitterFer en TwitterPeredo en Twitter