O JetStream 3, um conjunto de ferramentas para avaliação comparativa do desempenho de navegadores web, foi lançado. Ele testa o desempenho dos mecanismos JavaScript e WebAssembly na execução de aplicações web típicas que exigem alto poder computacional. Para alcançar resultados objetivos e independentes, o projeto está sendo desenvolvido em conjunto por desenvolvedores de mecanismos de navegadores concorrentes do Google, Apple e Mozilla. O código está disponível sob a licença BSD.
A nova versão leva em consideração as tendências modernas e as mudanças que ocorreram na web desde o lançamento do JetStream 2 em 2019, além de atualizar os testes para corresponder aos padrões de operação de aplicativos web reais e refletir o desempenho real, em vez de resultados sintéticos para os quais os mecanismos de navegador são especificamente otimizados.
Ao contrário do benchmark Speedometer 3, o JetStream 3 foca na medição da capacidade computacional em vez da velocidade de renderização da interface e manipulação do DOM. O JetStream 3 reflete melhor o desempenho de jogos de navegador, simuladores de física, funcionalidades essenciais do framework, ferramentas criptográficas e algoritmos complexos.
Os recursos de teste do WebAssembly (Wasm) foram significativamente expandidos, incluindo a avaliação de funcionalidades avançadas do WebAssembly, como tratamento de exceções, uso de instruções SIMD vetoriais e a extensão WasmGC para execução de projetos em linguagens com coleta de lixo. Foram adicionados testes de desempenho para aplicações WebAssembly criadas com os toolkits J2CL, Dart2wasm, Kotlin/Wasm, Rust e .NET, e geradas a partir de código Java, Dart, Kotlin, Rust e C#.
As novas cargas de trabalho usadas nos testes de WebAssembly incluem o cálculo de hashes Argon2, a execução de um modelo de aprendizado de máquina usando instruções SIMD para otimização, a geração de interfaces de usuário em Dart e Kotlin, a execução do SQLite3 e a execução do interpretador e do ambiente de execução .NET compilados em WebAssembly.
Adicionados 15 novos testes em JavaScript, incluindo o mecanismo 3D Babylon.js, operações com curvas elípticas ed25519, a biblioteca MobX, realce de sintaxe com Prism.js, diversas implementações de proxy, traçado de raios, operações no sistema de arquivos, o simulador de comportamento de partículas 3D Three.js, compilação do TypeScript 5.9, validação de strings com Validator.js e geração de páginas com React.
Para evitar que a frequência da CPU e as cargas de E/S afetem os resultados entre os testes, o JetStream pré-carrega todos os recursos antes de executar os testes no navegador. Para reduzir o pico de consumo de memória e garantir o armazenamento em cache, os recursos são armazenados como blobs codificados em URL. O JetStream pode ser usado para testar não apenas navegadores, mas também mecanismos independentes, como o d8.
Fonte: opennet.ru
