- Resumo das melhorias impressionantes do mecanismo V8 em 2023
- Melhoria geral de velocidade com a introdução de um novo compilador intermediário e melhorias no compilador de alto nível, no runtime e no coletor de lixo
- Adição de novos recursos para JavaScript e WebAssembly, e o WebAssembly garbage collection (WasmGC) traz linguagens de programação com garbage collection de forma eficiente para a web
- Melhoria da segurança com avanços na infraestrutura de sandboxing e a introdução de control-flow integrity (CFI) no V8
Maglev: novo compilador de otimização intermediária
- Introdução do novo compilador de otimização Maglev, que opera entre Sparkplug e TurboFan
- O Maglev gera código cerca de 20 vezes mais lentamente que o Sparkplug, mas de 10 a 100 vezes mais rápido que o TurboFan
- Ganhos de desempenho observados de 8,2% no JetStream e 6% no Speedometer
- Economia de energia graças à alta velocidade de compilação do Maglev e à menor dependência do TurboFan
Turboshaft: nova arquitetura do compilador de otimização de alto nível
- Introdução do Turboshaft, nova arquitetura interna do compilador de otimização de alto nível TurboFan
- Possibilita adicionar novas otimizações e compilar mais rapidamente
- Desde o Chrome 120, todas as etapas de backend independentes de CPU usam Turboshaft, com compilação cerca de duas vezes mais rápida do que antes
Parser HTML mais rápido
- Adição de um parser HTML mais rápido ao Blink para reduzir o tempo gasto no parsing de HTML
- Aumento de 3,4% na pontuação do Speedometer
- O projeto WebKit integrou essa mudança imediatamente
Alocação de DOM mais rápida
- Investimentos e otimizações no lado do DOM
- Adição de um pool de páginas ao alocador Oilpan para reduzir o custo de ida e volta com o kernel
- Suporte a ponteiros compactados e não compactados, além da prevenção de compactação de campos de alta frequência no Blink
- A oilpanization de classes frequentemente alocadas acelerou as operações de alocação em 3 vezes e melhorou o desempenho em benchmarks centrados em DOM
Novos recursos de JavaScript
- Implantação de recursos JavaScript recém-padronizados.
- Inclusão de resizable ArrayBuffers, ArrayBuffer transfer, String
isWellFormed e toWellFormed, flag v de RegExp, JSON.parse with source, Array grouping, Promise.withResolvers, Array.fromAsync e outros
- Os recursos auxiliares de Iterator foram temporariamente retirados por problemas de compatibilidade com a web e serão redistribuídos depois
- Omissão de algumas verificações temporárias mortas desnecessárias para melhorar o desempenho de código JavaScript ES6+
Atualizações do WebAssembly
- Novos recursos e melhorias de desempenho para o Wasm
- Melhor desempenho com suporte a multi-memory, tail calls e relaxed SIMD
- Implementação de memory64 concluída e prevista para distribuição quando a proposta atingir a fase 4
- Incorporação das atualizações mais recentes da proposta de tratamento de exceções e suporte ao formato anterior
- Investimentos em JSPI para viabilizar uma classe maior de aplicações na web
Garbage collection do WebAssembly
- A distribuição do WasmGC permite alocar objetos e arrays gerenciados pelo coletor de lixo já existente do V8
- Ao compilar para Wasm aplicações escritas em linguagens com garbage collection, como Java, Kotlin e Dart, a execução é cerca de duas vezes mais rápida do que ao compilar para JavaScript
Segurança
- Sandboxing, fuzzing e CFI foram os principais temas de segurança do ano
- Construção da infraestrutura de sandboxing, investimentos em infraestrutura de fuzzing e melhoria da cobertura de linguagens
- Estabelecimento da base da arquitetura de CFI e possibilidade de implementação em várias plataformas
- Mitigação de técnicas populares de exploit em torno de
the_hole e início de um novo programa de recompensas por exploits no formato V8CTF
Conclusão
- O impacto combinado de pequenos projetos de melhoria de desempenho gerou resultados significativos
- As pontuações de benchmark que mostram as melhorias de desempenho do V8 em 2023 cresceram 14% no JetStream e 34% no Speedometer
- O V8 agora está mais rápido e seguro, e a jornada rumo a uma web rápida e intensa está apenas começando
- A equipe do V8 deseja a todos uma experiência de navegação web rápida, segura e incrível
Ainda não há comentários.