O Google lançou recentemente o Chrome 91 no canal estável e oferece desempenho 23% mais rápido devido às mudanças mencionadas na postagem.
Google lançado recentemente Chrome 91 no canal estável. A atualização introduziu uma série de mudanças, incluindo controles de formulário renovados, suporte ao modo desktop padrão em dispositivos de tela grande, melhorias na API de acesso ao sistema de arquivos e muito mais. A atualização também veio com uma série de melhorias de desempenho, e o Google revelou agora que a atualização mais recente torna o Chrome até 23% mais rápido que a versão anterior.
Em um postagem recente no Blog do cromo, o gerente de produto do Chrome, Thomas Nattestad, revelou que o Chrome 91 "agora é até 23% mais rápido com o lançamento de um novo compilador Sparkplug e chamadas internas curtas, economizando mais de 17 anos de tempo de CPU de nossos usuários todos os dias!" A postagem explica que Sparkplug é um novo compilador JavaScript que "preenche a lacuna entre a necessidade de começar a executar rapidamente e a otimização do código para desempenho máximo."
Chamadas internas curtas, por outro lado, otimizam "onde na memória colocamos o código gerado para evitar saltos indiretos ao chamar funções."O mecanismo V8 do Chrome apresenta vários compiladores que fazem diferentes compensações ao longo das diversas fases de execução do JavaScript. O novo compilador Sparkplug atinge um equilíbrio entre o sistema compilador de duas camadas do motor – Ignition e Turbofan -- para gerar código de máquina nativo sem depender das informações coletadas durante a execução do JavaScript código. Devido a isso, "começa a ser executado rapidamente enquanto ainda gera código relativamente rápido," melhorando assim o desempenho.
Short builtins é um novo mecanismo que ajuda o mecanismo V8 a otimizar a localização na memória do código gerado. “Quando o V8 gera código específico da CPU a partir de JavaScript, ele coloca esse código na memória. Este código gerado frequentemente chamará funções internas, que são pequenos trechos de código para lidar com rotinas comuns --tudo, desde operações básicas, como adicionar duas variáveis, até funções completas no padrão JavaScript biblioteca. Para algumas CPUs, chamar funções que estão mais distantes do código gerado pode causar falhas nas otimizações internas da CPU (como lógica de previsão de ramificação). A solução para isso é copiar as funções internas para a mesma região de memória que o código gerado," a postagem acrescenta. Observa ainda que esta mudança deve melhorar o desempenho do Chrome no chip Apple M1.
Para saber mais sobre essas atualizações de desempenho, confira o Chrome Postagem do blog V8.