firefox-42

firefox-42

Software

Firefox por fin tiene multiproceso, el mayor cambio de su historia

El multiproceso en Firefox se estrenará con la versión 48 del navegador. ¿Qué ventajas conlleva, y por qué es el mayor cambio de la historia de Firefox?

Noticias relacionadas

El multiproceso en Firefox ya está aquí. No es una broma. De verdad de la buena. En serio.

¿No me crees? No te culpo, teniendo en cuenta que llevamos años hablando del multiproceso en Firefox, sin ningún resultado. Mientras tanto, Chrome hizo del multiproceso su fundación, y se nota.

Ojo, no estoy diciendo que cambiar completamente la manera en la que funciona un programa sea fácil, ni mucho menos. Pero sí que digo que llevamos esperando desde 2009, cuando primero se anunció esta funcionalidad.

Qué es el multiproceso

Si no sabes de lo que estoy hablando, empecemos por lo básico. Cada núcleo que tiene un procesador es capaz de trabajar en un sólo proceso al mismo tiempo (hay excepciones, pero vamos a dejarlas aparte por ahora). Normalmente, cuando un programa se ejecuta, ocupa un proceso, o “hilo”, que se pasa al procesador para que haga el trabajo que tiene que hacer.

procesador

procesador

Así que, si tienes un procesador de un núcleo, sólo puedes ejecutar un proceso a la vez.  Ahora bien, si tenemos un procesador con dos núcleos, podemos hacer dos cosas a la vez. Simple, ¿verdad?

Pero ahora el problema está en que el programa sólo ocupa un proceso, un hilo, así que mientras que ejecutas el programa con un núcleo, el otro se queda sin hacer nada, lo cual es un desperdicio. Aquí entran los programas con multiproceso, o multihilo.

chrome multitarea

chrome multitarea

Chrome es uno de los programas más famosos que usa multiproceso, convirtiendo cada pestaña que abres en un nuevo proceso, y la verdad es que le saca el máximo partido a esta tecnología.

Gracias al multiproceso, cada pestaña es completamente independiente, por lo que si una web se queda “pillada”, no afectará al resto y podrás seguir navegando como siempre. También aumenta la seguridad, ya que permite un sistema de sandbox por el que cada proceso tiene limitaciones que impiden que un atacante pueda sacar provecho de un bug para acceder a nuestro sistema.

El multiproceso en Firefox por fin está aquí

¿Por qué Firefox no tiene multiproceso? Pues porque Chrome tuvo la ventaja de que fue diseñado desde cero con esta tecnología; en cambio, cuando Firefox fue creado nadie se pensaba que el multiproceso iba a llegar tan pronto, y la base del código es la de un programa que aprovecha sólo un proceso.

mozilla-logo

mozilla-logo

Así que Mozilla ha tenido que trabajar muy duro durante muchos años en el proyecto Electrolysis, básicamente abriendo en canal el programa y rehaciéndolo como ha podido. Por ejemplo, el componente del navegador que se encarga de cargar imágenes originalmente era compartido por todas las pestañas abiertas. Incluir el multiproceso no es algo tan simple como crear un nuevo proceso para cada componente, eso sólo crearía una redundancia excesiva.

Eso es lo que Mozilla ha estado haciendo durante todo este tiempo, analizar cada componente y asegurarse de que puede funcionar en un entorno multiproceso sin que consuma demasiados recursos ni fastidie completamente. Y finalmente, parece que estos esfuerzos han dado sus frutos.

firefox multiproceso 1

firefox multiproceso 1

Firefox 48 incluye ya el multiproceso, y según Mozilla, es el mayor cambio que jamás ha recibido el programa. Y lo mejor de todo es que al principio no lo notarás, porque el programa en sí no ha cambiado nada respecto a la versión 47 que ha salido esta misma semana.

Los cambios de Electrolysis son internos, y los notaremos en el rendimiento (sobre todo si tenemos un procesador con muchos núcleos), en la estabilidad y en la seguridad. La versión inicial de Electrolysis divide Firefox en dos, por una parte la interfaz y por otra el proceso del contenido, y será suficiente para evitar que el programa entero se cuelgue cuando una web tenga un problema, pero es sólo el principio.

Firefox 48 con multiproceso llegará en la primera semana de agosto, pero ya puedes instalarlo en versión beta si quieres probar la mejora que supone el multiproceso. Se espera que a lo largo del día de hoy esté disponible en la página oficial de Firefox Beta.