Linux sale mal parado en benchmark de JavaScript

Linux sale mal parado en benchmark de JavaScript

image fw

(CC) 120linux.com

El lenguaje JavaScript por mucho tiempo fue relegado a operaciones simples.  Su uso consistía básicamente en funciones cortas para validar si un número estaba dentro de un rango, si la dirección de correo estaba bien formada, si se habían ingresado los campos obligatorios, para cambiar imágenes sin recargar la página y otros usos de poca monta.

Cuando surge el concepto de AJAX y aplicaciones como GMail, Google Docs y Facebook, el web browser ya no es un tonto cliente liviano que sólo muestra lo que le dice el servidor, sino que se transforma en un cliente pesado que actúa por si mismo y por lo tanto necesita ejecutar una gran cantidad de código JavaScript.

Es en este contexto cuando el rendimiento de JavaScript se convierte en un factor relevante de la experiencia del usuario al usar la web como la conocemos hoy en día.

El Benchmark de TuxRadar

Los muchachos de TuxRadar hicieron un benchmark para comparar el rendimiento del motor de JavaScript de Mozilla 3.0 entre Windows y en Linux y los números son poco favorables a Linux

La prueba fue realizada entre Windows XP SP3 y Fedora 10, ambos corriendo en 32 bits sobre un Intel Core 2 Quad a 2.66Ghz, con 4GB en RAM y 1.5TB de disco (estos últimos dos datos son irrelevantes para estas pruebas, pero los incluyo por si hay dudas).

El rendering no es parte de las pruebas, eso aisla el motor de JavaScript de factores externos como puede ser un driver de video o un método de rendering de bajo nivel, sería bueno algún día contar con ese tipo de pruebas para ver qué cosas se pueden mejorar.

Las pruebas aplicadas fueron SunSpider (WebKit.org), V8 Benchmark Suite (Google) y Dromaeo (Dromaeo.com / Mozilla).  Estas pruebas ejecutan operaciones típicas de JavaScript que se usan en frameworks como Dojo, GWT y JQuery, por lo tanto son representativas de lo que podemos esperar de una aplicación del mundo real.

Las tres pruebas arrojaron resultados desfavorables para Mozilla corriendo sobre Linux. Afírmense los Linux fanboys porque aqui está el resumen de las pruebas:

  • SunSpider : Windows es 11% más rápido que Linux
  • V8 Benchmark Suite : Windows es un 32% más rápido que Linux
  • Dromaeo : Windows es un 36% más rápido que Linux

Análisis de los resultados

Estos números no deberían asustar.  Como toda operación de análisis está sujeta a re-análisis.  Por ejemplo en los resultados se calcula el total de cada prueba considerando que todas las pruebas específicas son equivalentes, no es un total ponderado.  Esto quiere decir que para efectos de las pruebas, calcular una transformación 3D vale lo mismo que calcular operaciones sobre arrays, cuando en realidad es poco probable que el rendimiento de la transformación 3D influya en una aplicación tradicional.

Con esto no estoy diciendo que la prueba sea inválida, incluso ponderando los resultados serían desfavorables pero en otra proporción.

Una de las gracias de estas pruebas es que son de una gran ayuda para evaluar mejoras en un motor de JavaScript, pero no hay que olvidar que los números se deben interpretar y no simplemente recibir.

Perspectivas

La prueba realizada por TuxRadar mide el estado actual de lo que está al alcance de cualquier usuario, pero este escenario está pronto a cambiar.   Google Chrome incluye el nuevo motor de JavaScript V8 en donde se hizo un trabajo fuerte para mejorar el rendimiento, astuto movimiento considerando que Google depende fuertemente de ese factor para llevar adelante su tecnología.  Mozilla por su parte está trabajando también en un nuevo motor de JavaScript que incorpora los mismos conceptos aplicados en V8 y pronto comenzaremos a verlo en todos los escritorios.

Es poco probable que a estas alturas se hagan mejoras en el motor JavaScript de Mozilla, considerando que le queda poco tiempo de vida.  Sólo queda esperar que se acorte esta brecha entre ambas plataformas, pero al menos sabemos que será mucho mejor lo que tenemos hoy.

Update: Han sacado los resultados de nuevas pruebas en donde se confirma que el problema no está en la plataforma, sino que en el port.  Firefox sobre WINE en Linux es más rápido que Firefox nativo en Linux

Link: Benchmarked: Firefox Javascript on Linux and Windows – and it’s not pretty (TuxRadar)