Posteado por: francjp | marzo 4, 2008

Última característica de Firefox 3: el rendimiento

Por Percy Cabello

Entre todas las nuevas características y mejoras que podemos encontrar en las betas de Firefox 3 hasta el momento, hay una serie de mejoras en su funcionamiento que vendrán con la Beta 4 de este navegador.

Finalmente he sido capaz de correr una serie de pruebas para poder comparar el rendimiento de Firefox 3, respecto a la versión 2.

Java Script

Como ustedes saben, el JavaScript se está convirtiendo en algo cada vez más importante, ya que como usuarios, esperamos que las aplicaciones web se comporten a la manera de sus equivalentes de escritorio. Para los desarrolladores web, la herramienta adecuada para lograr esto es el JavaScript, el lenguaje usado para programar los diferentes elementos de una página web, y para hacer pedidos pequeños de información a un servidor.

Para Firefox esto es algo más importante, ya que toda su interfaz (incluidas las extensiones) corren en JavaScript: abrir un menú contextual, una pestaña o ventana, además de que hay JavaScript trabajando todo el tiempo en todas las partes internas de la aplicación.

Así que vas a estar agradecido de saber que el funcionamiento de JavaScript en Firefox 3 ha triplicado prácticamente el de Firefox 2, doblándolo en beta 3, y se ha convertido en el motor más rápido entre los navegadores, incluyendo Opera 9.5 y Safari 3.0.4 (que se encuentra también en beta). Todo esto de acuerdo a SunSpider, una herramienta para pruebas en JavaScript diseñada por WebKit (el proyecto que está a cargo del motor de Safari), que mide su funcionamiento.

SunSpider test results

Debe decirse que, como con cualquier otra herramienta de pruebas, no es perfecta ni está libre de críticas: un motor probablemente cambie su rendimiento de una prueba a otra.

También debe advertirse que un motor o una aplicación puede ser modificado para mejorar su rendimiento en una prueba en particular. Aunque creo que si una prueba está bien diseñada y representa efectivamente lo que afecta a la mayoría de usuarios, entonces las modificaciones no afectan los resultados. ¿Cuál sería el objetivo si se omitieran ciertas cosas, si luego no se podrían ver reflejadas en el uso diario de la aplicación?

Uso de Memoria

Firefox 2 tiene la fama de consumir demasiada memoria y aún más cuando se supone que está en reposo, lo que lo hace más molesto aún.

Así que he diseñado un test simple con un conjunto de 9 páginas web en Windows XP SP2, con un perfil en blanco y una página en blanco como página de inicio. Las medidas se tomaron con el Administrador de tareas de Windows. El test cubre un par de páginas web mientras se las navega. Luego se añaden páginas más complejas, dejando abiertas las primeras. Después se cierran un par de pestañas para ver cuánta memoria se ha ido, y finalmente se deja en reposo al navegador por una hora, para ver qué cantidad de memoria toma del sistema.

Aquí tienes los pasos en caso de que quieras reproducirlos:

1. Visité el New York Times, entré en la sección de Tecnología y abrí un par de artículos.

2. Ingresé a Digg, pinché en Upcoming y abrí las páginas 2 y 3.

3. CNET News, pinchando en cada una de las 3 historias más populares. Luego volví a la página principal.

4. Para cubrir la parte internacional, entré a la edición rusa

5. …y china de la Wikipedia. Pinchando en los primeros enlaces de la barra de la izquierda y luego regresé a la página principal.

A. Aquí tomé una primera medida.

6. Visité este vídeo en Youtube, además vi uno más de los vídeos relacionados de la barra derecha.

7. En Gmail, ingresé, escribí un mail con dos imágenes de gran tamaño (unos 2 Mb cada una), luego me las envié y abrí el mail recibido.

8. En Google Docs, creé un documento de texto nuevo, escribí una frase de cinco palabras, las puse en negrita, las centré y añadí una imagen GIF de 20kb, y guardé el documento.

9. Visité Netvibes, visitando todas las pestañas por defecto, cambié el titulo de la página y añadí un pequeño ítem a la lista de tareas.

B. La segunda medida la tomé en este punto.

10. Luego cerré Netvibes y Youtube y esperé 20 segundos para que Firefox hiciera su limpieza.

C. Tercera medición aquí.

12. Luego lo dejé abierto por una hora.

D. Última medición aquí.

Resultados:

Medición Firefox 2.0.0.12 Firefox 3 Beta 3
A. Páginas web normales 73 MB 80 MB
B. Sitios de Web 2.0 149 MB 135 MB
C. Cerrando un par de páginas 142 MB 123 MB
D. Luego de 1 hora sin actividad 181 MB 123 MB

Como se puede ver, Firefox 3 muestra una mejor administración de la memoria y libera más memoria cuando se cierran pestañas, manteniendo el nivel de uso de memoria bajo cuando no está en uso.

Este test es solo un ejemplo: depende de tus hábitos de navegación, y de cuántas pestañas sueles tener abiertas al mismo tiempo. Además la memoria varia a medida que vas abriendo y cerrando nuevas pestañas o ventanas, con más o menos plugins. Así que tómalo como una referencia de cómo el nuevo Firefox 3 administra la memoria en una navegación simple.

Tiempo de Inicio

Para medir cuánto tarda Firefox utilicé un método muy sencillo, un archivo batch encargado de correr un comando de tiempo y luego que abriera el navegador con una página en blanco, escribiendo luego la hora actual en una línea de código JavaScript. Tomando en cuenta estos tiempos, obtuve una aproximación casi exacta de lo que tarda en cargarse la aplicación.

Reinicié mi portátil antes de cada prueba, para limpiar el cache y obtener buenos tiempos de inicio. Luego cerré y reinicié Firefox para ver cuánto beneficio obtenía de esta limpieza en el sistema operativo.

En suma, obtuve el mismo resultado: 10 segundos desde un inicio primario, 4 segundos luego de reiniciar la aplicación. Puede que haya algunos milisegundos de diferencia, pero un usuario común no notaría mucho.

Más

A partir del viernes, los nightly de Firefox en Windows tienen la ventaja de contar con una optimización guiada del perfil [en] (PGO, por sus siglas en inglés). Con PGO, luego de que Firefox es compilado, el binario recién creado corre mientras otra aplicación monitoriza cómo se comporta y se crea un perfil, qué partes de Firefox son más usadas y en qué orden. Luego el código se compila de nuevo, pero esta vez guiado por el perfil producido, generando una aplicación optimizada.

Ted Mielczarek [en], la principal persona en poner en marcha este proyecto, dijo que el 10% de ganancia en el funcionamiento puede verse en alguna las mediciones gráficas de Mozilla. Las versiones para Linux vendrán con PGO luego de la Beta 4 y las versiones para Mac OS X, en teoría, para antes de la versión final.

Otra mejora surgió hace un par de semanas atrás, como lo contó Vladimir Vukicevic [en], gracias al descubrimiento de una interfaz sin documentar de Mac OS X, que impedía a Firefox efectuar parte de su trabajo, lo que significaba que era menos eficiente que Safari (por ejemplo).

Firefox 3 Beta 4 debería estar saliendo dentro de las próximas semanas.


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Categorías

A %d blogueros les gusta esto: