Firefox Quantum llegó a nuestros equipos prometiendo más ligereza y más rapidez. Y, en efecto, era la versión más rápida del navegador del zorro de fuego. No tanto respecto a navegadores como Opera y Edge, como comprobamos, pero sí batía a Chrome en la cacareada velocidad y en rendimiento. Ahora, tres meses después de su puesta de largo, desde Mozilla nos prometen que Firefox 58 va a ser todavía más rápido. Bastante más.
WebAssembly, abreviado frecuentemente como wasm, es un nuevo tipo de código binario que se ejecuta en navegadores webs modernos desde hace un tiempo. Mozilla lo define como un lenguaje binario de bajo nivel con un rendimiento casi nativo. Gracias a él ya es posible ejecutar código más rápidamente y, en el futuro, las aceleraciones continuarán. Una de ellas la incorporará Firefox 58: la capacidad de compilar código WebAssembly más velozmente de lo que la red es capaz de entregar los paquetes. Es la promesa.
Así compilan más rápido de lo que la red entrega los paquetes
Firefox 58, que vendrá con otras características muy interesantes bajo el brazo, como la función que ha tomado prestada de Tor, compilará en tiempo real, compilando el código mientras este aún se está descargando.
"Esto era solamente una posible aceleración futura", comenta la ingeniera Lin Clark, que ahora "se convierte en realidad".
La nueva versión del navegador de Mozilla también incorporará un nuevo compilador de dos niveles, un nuevo baseline compiler que compila código entre 10 y 15 veces más rápido que el compilador optimizador.
La combinación de estos dos cambios, asegura la responsable del anuncio, "significan que compilamos código más rápido de lo que viene de la red". Según sus cálculos, en escritorio se compilarán entre 30 y 60 megabytes de código WebAssembly por segundo. En móvil, "incluso en un dispositivo bastante medio", dicen que pueden compilar a 8 megabytes por segundo, que es una velocidad mayor de la velocidad media de descarga para prácticamente cualquier red móvil.
Esto significa, aseguran, que el código se ejecuta casi tan pronto como termina la descarga. Un significativo avance.
Si empiezas a compilar el código antes, terminarás de compilarlo antes. Eso es lo que hace la compilación de 'streaming'... permite empezar a compilar el archivo wasm lo antes posible.
Cuando descargas un archivo, no baja de una sola pieza. En su lugar, viene en una serie de paquetes. Antes, como cada paquete en el archivo wasm estaba siendo descargado, la capa de red del navegador lo ponía en un ArrayBuffer. Entonces, una vez hecho esto, movería ese ArrayBuffer al Web VM (también conocido como el motor JS). Ahí es cuando el compilador de WebAssembly comenzaría a compilar.
Pero no existe ninguna buena razón para hacer esperar al compilador. Técnicamente es posible compilar WebAssembly línea por línea. Esto significa que debes ser capaz de comenzar tan pronto como llega el primer fragmento. Eso es lo que hace nuestro nuevo compilador. Aprovecha la API de 'streaming' de WebAssembly.
Si usamos Firefox Nightly o Beta, es posible probar en nuestros propios dispositivos las virtudes con las que llegará Firefox 58. Solamente debemos hacer clic aquí y ver los resultados para sacar nuestras propias conclusiones.
Imágenes | Mozilla CC BY-SA 3.0 En Genbeta | Firefox quiere llevar más allá el uso de HTTPS forzando a los desarrolladores a asegurarlo todo
Ver todos los comentarios en https://www.genbeta.com
VER 10 Comentarios