ProHoster > Blog > notícias da internet > O desempenho da compilação JIT foi visivelmente melhorado nas compilações noturnas do Firefox
O desempenho da compilação JIT foi visivelmente melhorado nas compilações noturnas do Firefox
В construções noturnas Firefox ligado compilador JIT atualizado, desenvolvido codinome WarpBuilder. Para habilitar o novo JIT, a opção "javascript.options.warp" é fornecida em about:config.
Observa-se que o WarpBuilder é apenas o primeiro passo para a incorporação de novas otimizações ao navegador, que estão previstas para serem implementadas no próximo ano.
O novo JIT melhora o desempenho do mecanismo JavaScript SpiderMonkey, reduzindo as informações de tipo interno rastreadas dentro do mecanismo e usando a técnica de Cache de Código Intermediário (CacheIR) anteriormente proposto no interpretador de bytecode “baseline”, que ocupa um nicho intermediário entre um intérprete regular e um compilador pré-JIT. Essas mudanças permitiram simplificar significativamente a arquitetura JIT, aumentar a capacidade de resposta, reduzir o tempo de carregamento da página e reduzir o consumo de memória.
É notadoque o novo JIT resolveu muitos problemas do antigo JIT IonBuilder, como:
Complexidade de implementação e potenciais problemas de segurança;
Sobrecarga adicional para código Baseline/C++;
Especialização excessiva levando a recompilações desnecessárias;
Gerando código intermediário MIR (IR de nível médio) no thread principal (no WarpBuilder, o assembly principal do código intermediário é colocado em um thread separado);
Consumo adicional de memória para armazenamento de dados sobre tipos e grupos de objetos (ObjectGroups).
Em média, em testes que avaliam o desempenho com base em métricas visuais, observa-se uma aceleração de 5 a 15% ao usar o WarpBuilder. A taxa de conclusão do teste do velocímetro aumentou em 10%. Testes em sites reais mostraram uma redução no tempo de carregamento do Google Docs em 20%, índice Índice de velocidade ao abrir a seção Android no Reddit melhorada por 13%, o pdfpaint começou a funcionar mais rápido em 18%. Consumo de memória no teste tp6 diminuiu 8%. Dados estatísticas em ferramentas de desenvolvedor (devtools perf) também mostraram uma redução de 8% no consumo de memória.