O rendemento da compilación JIT mellorouse notablemente nas compilacións nocturnas de Firefox

В construcións nocturnas Firefox incluído compilador JIT actualizado, desenvolvido nome en clave WarpBuilder. Para activar o novo JIT, a opción "javascript.options.warp" aparece en about:config.
Nótese que WarpBuilder é só o primeiro paso para incorporar novas optimizacións ao navegador, que está previsto que se implementen durante o próximo ano.

O novo JIT mellora o rendemento do motor SpiderMonkey JavaScript reducindo a información de tipo interno rastrexada dentro do motor e empregando previamente a técnica de caché de código intermedio (CacheIR). proposto no intérprete de bytecode "baseline", que ocupa un nicho intermedio entre un intérprete normal e un compilador pre-JIT. Estes cambios fixeron posible simplificar significativamente a arquitectura JIT, aumentar a capacidade de resposta, reducir o tempo de carga das páxinas e reducir o consumo de memoria.

Nótaseque o novo JIT resolveu moitos problemas do antigo JIT IonBuilder, como:

  • Complexidade da implementación e posibles problemas de seguridade;
  • Sobrecarga adicional para o código Baseline/C++;
  • Especialización excesiva que leva a recompilacións innecesarias;
  • Xeración de código intermedio Eu (IR de nivel medio) no fío principal (en WarpBuilder, o conxunto principal do código intermedio colócase nun fío separado);
  • Consumo de memoria adicional para almacenar datos sobre tipos e grupos de obxectos (ObjectGroups).

De media, nas probas que avalían o rendemento en función de métricas visuais, obsérvase unha aceleración do 5-15% ao usar WarpBuilder. A taxa de realización da proba do velocímetro aumentou un 10%. As probas en sitios reais mostraron unha redución do tempo de carga de Google Docs 20%, índice SpeedIndex ao abrir a sección de Android en Reddit mellorada por 13%, pdfpaint comezou a funcionar máis rápido 18%. Consumo de memoria na proba tp6 diminuíu un 8%. Datos as estatísticas das ferramentas de desenvolvemento (devtools perf) tamén mostraron unha redución do 8% no consumo de memoria.

Fonte: opennet.ru

Engadir un comentario