Lanzamiento de V8 v5.4
Cada seis semanas, creamos una nueva rama de V8 como parte de nuestro proceso de lanzamiento. Cada versión se deriva del maestro de Git de V8 inmediatamente antes de un hito Beta de Chrome. Hoy nos complace anunciar nuestra rama más reciente, V8 versión 5.4, que estará en beta hasta que se lance en coordinación con Chrome 54 Stable en varias semanas. V8 v5.4 está llena de recursos útiles para los desarrolladores, así que queremos darles un adelanto de algunos de los aspectos más destacados en anticipación al lanzamiento.
Mejoras de rendimiento
V8 v5.4 proporciona una serie de mejoras clave en el uso de memoria y la velocidad de inicio. Estas mejoras ayudan principalmente a acelerar la ejecución inicial de scripts y a reducir el tiempo de carga de páginas en Chrome.
Memoria
Al medir el consumo de memoria de V8, dos métricas son muy importantes de monitorear y entender: Consumo máximo de memoria y consumo promedio de memoria. Por lo general, reducir el consumo máximo es tan importante como reducir el promedio, ya que un script en ejecución que agota la memoria disponible, incluso por un breve momento, puede causar un error de Falta de memoria, aunque su consumo promedio no sea muy alto. Para propósitos de optimización, es útil dividir la memoria de V8 en dos categorías: Memoria en el montón que contiene objetos reales de JavaScript y memoria fuera del montón que contiene el resto, como estructuras de datos internas asignadas por el compilador, el analizador y el recolector de basura.
En la versión 5.4 ajustamos el recolector de basura de V8 para dispositivos de baja memoria con 512 MB de RAM o menos. Dependiendo del sitio web mostrado, esto reduce el consumo máximo de memoria en el montón hasta un 40%.
La gestión de memoria dentro del analizador de JavaScript de V8 se simplificó para evitar asignaciones innecesarias, reduciendo el uso máximo de memoria fuera del montón hasta un 20%. Estos ahorros de memoria son especialmente útiles para reducir el consumo de grandes archivos de script, incluidas las aplicaciones asm.js.
Inicio y velocidad
Nuestro trabajo para simplificar el analizador de V8 no solo ayudó a reducir el consumo de memoria, sino que también mejoró el rendimiento del análisis en tiempo de ejecución. Esta simplificación, combinada con otras optimizaciones de las funciones integradas de JavaScript y cómo los accesos a las propiedades en objetos JavaScript usan cachés en línea, resultó en notables mejoras de rendimiento en el inicio.
Nuestra suite interna de pruebas de inicio, que mide el rendimiento de JavaScript en el mundo real, mejoró en una mediana del 5%. El benchmark de Speedometer también se beneficia de estas optimizaciones, mejorando entre ~10 y 13% en comparación con la versión 5.2.
API de V8
Por favor revisen nuestro resumen de cambios en la API. Este documento se actualiza regularmente unas semanas después de cada lanzamiento importante.
Los desarrolladores con un checkout activo de V8 pueden usar git checkout -b 5.4 -t branch-heads/5.4
para experimentar con las nuevas características en V8 v5.4. Alternativamente, pueden suscribirse al canal Beta de Chrome y probar las nuevas características pronto por sí mismos.