El rendimiento de la compilación JIT ha mejorado notablemente en las compilaciones nocturnas de Firefox.

В construcciones nocturnas Firefox incluido compilador JIT actualizado, desarrollado nombre en código WarpBuilder. Para habilitar el nuevo JIT, la opción "javascript.options.warp" se proporciona en about:config.
Cabe señalar que WarpBuilder es sólo el primer paso hacia la incorporación de nuevas optimizaciones en el navegador, que se prevé implementar durante el próximo año.

El nuevo JIT mejora el rendimiento del motor JavaScript SpiderMonkey al reducir la información de tipo interno rastreada dentro del motor y al utilizar la técnica de almacenamiento en caché de código intermedio (CacheIR) anteriormente propuesto en el intérprete de código de bytes "base", que ocupa un nicho intermedio entre un intérprete normal y un compilador anterior a JIT. Estos cambios permitieron simplificar significativamente la arquitectura JIT, aumentar la capacidad de respuesta, reducir el tiempo de carga de la página y reducir el consumo de memoria.

Se observaque el nuevo JIT resolvió muchos problemas del antiguo JIT IonBuilder, tales como:

  • Complejidad de implementación y posibles problemas de seguridad;
  • Gastos generales adicionales para el código Baseline/C++;
  • Especialización excesiva que conduce a recompilaciones innecesarias;
  • Generando código intermedio MIR (IR de nivel medio) en el hilo principal (en WarpBuilder, el ensamblaje principal del código intermedio se coloca en un hilo separado);
  • Consumo de memoria adicional para almacenar datos sobre tipos y grupos de objetos (ObjectGroups).

En promedio, en las pruebas que evalúan el rendimiento basándose en métricas visuales, se observa una aceleración del 5 al 15 % cuando se utiliza WarpBuilder. La tasa de finalización de la prueba del velocímetro aumentó en un 10%. Las pruebas en sitios reales mostraron una reducción en el tiempo de carga de Google Docs en 20%, índice Índice de velocidad al abrir la sección de Android en Reddit mejorado por 13%, pdfpaint comenzó a funcionar más rápido 18%. Consumo de memoria en la prueba. tp6 disminuyó un 8%. Datos Las estadísticas en herramientas de desarrollo (devtools perf) también mostraron una reducción del 8% en el consumo de memoria.

Fuente: opennet.ru

Añadir un comentario