- Resumen de las impresionantes mejoras logradas por el motor V8 en 2023
- Mejora general de velocidad mediante la introducción de un nuevo compilador de nivel intermedio y mejoras en el compilador de nivel superior, el runtime y el recolector de basura
- Se añadieron nuevas funciones para JavaScript y WebAssembly, y WebAssembly Garbage Collection (WasmGC) lleva de forma eficiente a la web lenguajes de programación con recolección de basura
- Mejora de la seguridad mediante el fortalecimiento de la infraestructura de sandboxing y la introducción de la integridad de flujo de control (CFI) en V8
Maglev: nuevo compilador de optimización de nivel intermedio
- Se introdujo el nuevo compilador de optimización Maglev, que opera entre Sparkplug y TurboFan
- Maglev genera código aproximadamente 20 veces más lento que Sparkplug, pero entre 10 y 100 veces más rápido que TurboFan
- Se observó una mejora de rendimiento de 8.2% en JetStream y de 6% en Speedometer
- La rápida velocidad de compilación de Maglev y la menor dependencia de TurboFan generan ahorros de energía
Turboshaft: nueva arquitectura para el compilador de optimización de nivel superior
- Se introdujo Turboshaft, una nueva arquitectura interna para el compilador de optimización de nivel superior TurboFan
- Permite agregar nuevas optimizaciones y compilar más rápido
- Desde Chrome 120, todas las etapas del backend independientes de CPU usan Turboshaft, con una compilación aproximadamente dos veces más rápida que antes
Parser HTML más rápido
- Se añadió a Blink un parser HTML más rápido para reducir el tiempo requerido para el análisis de HTML
- Aumento de 3.4% en la puntuación de Speedometer
- El proyecto WebKit incorporó este cambio de inmediato
Asignación de DOM más rápida
- Inversión y optimización en el lado del DOM
- Se añadió un page pool al asignador Oilpan para reducir el costo de ida y vuelta con el kernel
- Soporte para punteros comprimidos y no comprimidos, y prevención de compresión de campos de alta frecuencia en Blink
- La oilpanization de clases asignadas con frecuencia aceleró 3 veces las operaciones de asignación y mejoró el rendimiento en benchmarks centrados en DOM
Nuevas funciones de JavaScript
- Se desplegaron funciones de JavaScript recién estandarizadas.
- Se añadieron resizable ArrayBuffers, ArrayBuffer transfer, String
isWellFormed y toWellFormed, la bandera v de RegExp, JSON.parse with source, Array grouping, Promise.withResolvers, Array.fromAsync y más
- Las funciones auxiliares de Iterator fueron retiradas temporalmente por problemas de compatibilidad web y se volverán a desplegar más adelante
- Se omitieron algunas comprobaciones temporales de zonas muertas innecesarias para mejorar el rendimiento del código JavaScript ES6+
Actualizaciones de WebAssembly
- Nuevas funciones y mejoras de rendimiento para Wasm
- Mejoras de rendimiento con soporte para multi-memory, tail calls y relaxed SIMD
- La implementación de memory64 está completa y se desplegará cuando la propuesta alcance la etapa 4
- Se reflejó la actualización más reciente de la propuesta de manejo de excepciones y se mantiene soporte para el formato anterior
- La inversión en JSPI habilita una clase más amplia de aplicaciones en la web
Recolección de basura en WebAssembly
- Con el despliegue de WasmGC, ahora se pueden asignar objetos y arreglos gestionados por el recolector de basura existente de V8
- Al compilar a Wasm aplicaciones escritas en lenguajes con recolección de basura como Java, Kotlin y Dart, se ejecutan aproximadamente el doble de rápido que cuando se compilan a JavaScript
Seguridad
- Sandboxing, fuzzing y CFI fueron los principales temas de seguridad de este año
- Se construyó infraestructura de sandboxing, se invirtió en infraestructura de fuzzing y se mejoró la cobertura de lenguajes
- Se sentaron las bases de una arquitectura CFI y su implementación es posible en distintas plataformas
- Se mitigaron técnicas de exploit populares en torno a
the_hole y se lanzó un nuevo programa de recompensas por exploits en formato V8CTF
Conclusión
- El impacto combinado de pequeños proyectos de mejora de rendimiento produjo resultados significativos
- Las puntuaciones de benchmarks que muestran las mejoras de rendimiento de V8 en 2023 crecieron 14% en JetStream y 34% en Speedometer
- V8 ahora es más rápido y seguro, y el viaje hacia una web rápida e intensa apenas comienza
- El equipo de V8 desea a todos una experiencia de navegación web rápida, segura y excelente
Aún no hay comentarios.