free page hit counter
Microsoft. MuyWindows

Microsoft NO está haciendo trampa con SunSpider e Internet Explorer 9

18/11/2010| por | 20 comentarios

Microsoft NO está haciendo trampa con SunSpider e Internet Explorer 9

Con Microsoft algunas veces parece que es culpable hasta que se demuestra lo contrario. Un ingeniero de Mozilla llamado Rob Sayre ha levantado cierto revuelo al insinuar que Microsoft podría haber hecho trampas en las pruebas de SunSpider sobre Internet Explorer 9. Según sus afirmaciones de este supuesto ingeniero, una de las pruebas llamada math cordic test daba unos resultados sospechosos.

Lo que hizo sospechar a este ingeniero fue que los resultados de estas pruebas eran “sospechosamente buenos” por resumir el tema. En realidad estamos hablando de nueve milisegundos, pero el ingeniero incluso planteaba la sospecha de que otras pruebas estuvieran manipuladas.

Microsoft NO está haciendo trampa con SunSpider e Internet Explorer 9

En realidad el ingeniero (junto con parte de la prensa especializada) quizás se apresurara demasiado al sacar sus conclusiones. Microsoft ha publicado en su blog de Internet Explorer una entrada en la que se comentan los cambios realizados en el motor Chakra para optimizar las prestaciones en JavaScript. En un apartado final comentan en un apartado el funcionamiento de la optimización a través de la “eliminación de código muerto” en respuesta a la polémica surgida.

Este sistema busca partes del código que no son necesarias para ejecutar un programa reduciendo el tamaño del código y consiguiendo mayor rapidez de ejecución. Los programadores de Microsoft explican que el código de la prueba math cordic realiza un bucle extendido y no hace nada con el resultado. El optimizador de código de IE9 localiza ese código y lo elimina, porque no tiene ningún efecto sobre el funcionamiento del programa.

En realidad la eliminación de código muerto es un tipo de optimización bastante común. ¿Se estarán poniendo nerviosos en Mozilla? En cualquier caso y si queréis saber si IE9 corre de verdad con JavaScript… ¿por qué no lo pruebas? Aún puedes ganar un portátil…

Related posts:

  1. La difusión masiva de Internet Explorer 9 aún está por llegar
  2. Sobre Internet Explorer 9, estándares y pruebas varias
  3. Internet Explorer 9: páginas web iguales para todos los navegadores
  4. Disponible la Platform Preview 7 de Internet Explorer 9
  5. Microsoft actualiza Internet Explorer 9 beta
Categorías: Microsoft

Hay 20 comentarios

  1. 1
    gFX dice:

    Se le viene el mundo encima a Mozilla, y por nada. NO tiene nada de malo que Microsoft haga buenos productos y que estos salgan vencedores en diversas pruebas.

    Lo único que esa gente intenta hacer es alocar a las masas, quieren que la gente hable y tenga un motivo para despotricar a IE9 o Microsoft mientras ellos no consiguen superarse.

    Y al final sigo diciendo que es nada, 9 milisegundos, una tormenta en un vaso de agua, como lloran.

  2. 2
    carlos dice:

    bien,es comun,si lo hacen ellos,seguro que es real, tambien se reconoce que explorer es mas seguro que firefox y chrome: http://www.neowin.net/news/internet-explorer-more-secure-than-chrome-and-firefox

  3. 3
    gFX dice:

    Gracias por la nota :)

  4. 4
    Exteban dice:

    Es lo de siempre: si lo hace o dice Microsoft, malo. Si lo hace o dice cualquier otro de los “guays” (mundo Linux o Google) bueno.

  5. 5
    Talante y p'alante dice:

    math cordic realiza un bule extendido y no hace nada con el resultado

    ¿Qué es un “bule”? Creo que se te olvidó una c Guillermo.

    En cualquier caso el motivo del revuelo no son esos 9 milisegundos ahorrados en esa prueba concreta, sino la posibilidad de que en MS pudieron haber trampeado más pruebas. A mi eso no me parece una trampa aunque deberán desarrollar ese optimizador con cuidado, no vaya a ser que en determinados casos se le vaya la olla y joda código válido.

    Aún así, por mucho escándalo sin sentido que arme Mozilla vosotros también pareceis muy empeñados en hacerle creer a la gente que IE9 va a ser el maná en mitad del desierto, cuando en determinados aspectos aún está por debajo de la competencia. pero bueno.

  6. 6
    J. L. Z. dice:

    Bueno, tal como se demuestra en “http://digitizor.com/2010/11/17/internet-explorer-9-caught-cheating-in-sunspider-benchmark/”, dicha optimización parece ser increíblemente poco robusta, dado que sólo con agregar un retorno, el motor se vuelve loco y el rendimiento es 20 veces peor.

    Por tanto, resulta francamente extraño que sólo optimice el código de SunSpider, lo que apunta claramente a que dicha “optimización” tiene un carácter meramente propagandístico.

    Es cierto de Microsoft tiene sus cosas buenas y sus cosas malas, pero sus últimos navegadores se caracterizan por ser pésimos y ofrecer una experiencia nefasta al usuario.

    Aparte de ello, no cumplen correcctamente los estándares. Si alguien quiere más información sobre ello, que consulte la política que siguen de “Adoptar, extender y extinguir”.

    (http://es.wikipedia.org/wiki/Documentos_Halloween)

    ¿Parece una conspiración? ¿Qué pasó con JavaScript y con HTML 4? ¿No decían que no adoptarían HTML 5?

  7. 7
    Andrés dice:

    el tema no es ese, es que según dicen, esa “eliminación de código muerto” solo elimina ese código muerto.

    Es decir, si le cambian el nombre a las variables o cambian el bucle while por for, el rendimiento se altera notablemente

    http://news.ycombinator.com/item?id=1913368

    En todo hay que dar el beneficio de la duda a otros navegadores, puesto que la velocidad de un navegador no solo depende de lo rápido que ejecute código en javascript.

    • 9

      Poner en sospecha una optimización de código muerto porque se use un while en vez de un for es poco menos que desconocer de programación, dado que predecir la finitud de un ciclo while es mucho más complejo que la de un ciclo for (no en vano aún se incurre en ciclos infinitos a partir del uso de while) y por tanto las optimizaciones de ese tipo se comportan diferente cuando se trata de un ciclo “haga-mientras”.

      • 11
        drizzt dice:

        A un for le supones un limite de iteraciones, no tiene porque tenerlas. ;)

        for ( i=0;i<10; ){/*codigo aqui*/}
        for ( i=0;i=1);/*codigo aqui*/}
        for ( i=rand();i!=0; i=rand() ){/*codigo aqui*/}

        Ya puestos a programar de forma deficiente que es lo unico que optimiza sunspider… :P

      • 12
        drizzt dice:

        se ha comido un trozo del codigo( 10;i++){i-=(rand() ) al confundirlo con una etiqueta. XD

        for ( i=0;i =1);/*codigo aqui*/}

        • 16

          Sí, de acuerdo no dije en ningún momento que un for no pudiera convertirse en un ciclo infinito, si ves mi comentario dije que era más complejo determinar la finitud de un while que la de un for. Casos como los que muestras son prueba de que un for puede convertirse también en un ciclo complejo de determinar, pero no en la mayoría de los casos y si un optimizador de código muerto se encuentra con uno bien formado que no hace nada relevante puede descontarlo de manera más sencilla.

  8. 8

    Desde mi punto de vista, una optimización de código muerto y un benchmark que, como ejercicio de pruebas, tiene un conjunto de bucles e hilos de código innecesario (en una aplicación real, pero necesario para el test) son incompatibles y opino que Microsoft, habiendo escrito estas optimizaciones no debió haber sometido el navegador a ese benchmark sin una aclaración de condiciones.

  9. 10
  10. 15
    Ryan dice:

    Pues yo creo que no deberían juzgar algo sin conocerlo, vaya, no juzgar un libro por su portada, es cierto que Internet Explorer últimamente es muy malo, pero eso no quiere decir que no pueda mejorar muchísimo, mejorar es algo natural, se da en todos lados, un ejemplo en el ámbito musical, vean como madonna mejoro y paso de american life (guacala) a hung up (hurra), pensaron que nunca seria la de antes y les callo la boca a todos, ahora comparandolo, nadie pensaba que internet Explorer volveria a ser el mejor, y lo esta haciendo, pero claro que siempre habra incrédulos o difamadores, o ambos que no aceptaran eso, todos pueden mejorar, IE va a dar mucha batalla en estos días y mas bien, creo que mozilla tienen miedo a eso, a que IE renazca como algo mucho mejor que ellos

  11. 18
    Iñigo dice:

    Tomad Firoxferos! Eso os pasa por creeros los mejores y por decir que era trampa por que lo hacía Microsoft

  12. 19
    Camelot dice:

    Tanto problema por 9 milisegundos… ;)

  13. 20
    Rick Hunter dice:

    IE puede mejorar todo lo que quieran, pero para mi Opera es el mejor navegador y no creo que lo cambie.

Escribe tu comentario