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.
¿Cuál es la explicación del comportamiento de Internet Explorer?
La gente de Digitizer y de Hacker News, independientemente, llegaron a diferentes conclusiones:
- Microsoft hizo trampa al optimizar Internet Explorer 9 con el solo propósito de salir mejor en la prueba de SunSpider.
- Los ingenieros de Microsoft al trabajar con pruebas de SunSpider sobre-optimizaron el motor de JavaScript.
- 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.
- 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