Llegamos a ustedes gracias a:



Noticias

Nueva herramienta de Google corta el código JavaScript a la medida

[07/09/2016] Para mejorar el consumo de la memoria móvil en su motor de JavaScript V8, Google ha desarrollado Ignition, un intérprete de JavaScript para reducir la sobrecarga y aumentar la ejecución de las secuencias de encendido. Google considera que con la tecnología también se puede ofrecer otras oportunidades para incrementar el rendimiento en la Web.

A través de la Ignition, V8 compila las funciones JavaScript en un bytecode conciso que es de 25% a 50% del tamaño del código de máquina de referencia equivalente, afirmó Ross McIlroy, ingeniero de Google para el software de Android. "Este bytecode luego es ejecutado por un intérprete de alto rendimiento, que proporciona velocidades de ejecución en sitios web del mundo real cercanas a aquellas del código generado por el compilador de línea de base existente de V8.

Incorporar Ignition al pipeline de la ejecución de la secuencia de comandos abre posibilidades más allá de la reducción de la sobrecarga de memoria de V8, según McIlroy. "El pipeline de Ignition ha sido diseñado para permitirnos tomar decisiones más inteligentes acerca de cuándo ejecutar y optimizar el código para acelerar la carga de las páginas web y reducir el jank y hacer más eficiente el intercambio entre los varios componentes de V8, afirmó.

V8 y los otros motores aprovechan la compilación JiT de secuencia de comandos para escribir automáticamente código nativo para fines de rendimiento. Con V8, el pipeline de la ejecución de la secuencia de comandos tiene condiciones que requieren que la maquinaria compleja cambie entre el compilador de línea de base y dos otros compiladores de optimización: CrankShaft y TurboFan. Con este proceso, el código generado automáticamente mediante "JiTeo puede consumir mucha memoria incluso si el código se ejecuta solo una vez. Ignition, que puede sustituir al compilador de línea de base de V8, ejecuta código con menos sobrecarga de memoria y allana el camino para un pipeline de ejecución de script más simple, explicó McIlroy.

El intérprete utiliza instrucciones de bajo nivel, instrucciones independientes de la arquitectura y de macro-montaje de TurboFan para generar controladores de bytecode para los códigos de operaciones. TurboFan compila las instrucciones para la arquitectura objetivo, proporcionando selección de instrucciones de bajo nivel y asignación automática de registros. "Esto se traduce en código de intérprete altamente optimizado, que puede ejecutar las instrucciones de bytecode e interactuar con el resto de la máquina virtual de V8 en una manera de baja sobrecarga, con una cantidad mínima de nueva maquinaria añadida a la base del código, afirmó McIlroy.

Los dispositivos Android con 512 MB de memoria o menos y que ejecutan el navegador Chrome 53 deberían habilitar Ignition. "Los resultados de los experimentos iniciales de campo mostraron que Ignition reduce la memoria de cada pestaña de Chrome en alrededor de 5%, señaló McIlroy.

Paul Krill, InfoWorld (EE.UU.)