Google, Apple i Mozilla wydały JetStream 3 w celu testowania wydajności przeglądarek.

Opublikowano JetStream 3, zestaw narzędzi do testowania wydajności przeglądarek internetowych. Testuje on wydajność silników JavaScript i WebAssembly podczas uruchamiania typowych, wymagających dużej mocy obliczeniowej aplikacji internetowych. Aby uzyskać obiektywne i niezależne wyniki, projekt jest rozwijany wspólnie przez twórców konkurencyjnych silników przeglądarek firm Google, Apple i Mozilla. Kod jest dostępny na licencji BSD.

Nowa wersja uwzględnia nowoczesne trendy i zmiany, jakie zaszły w sieci od czasu wydania JetStream 2 w 2019 r., a także aktualizuje testy, aby odpowiadały wzorcom działania rzeczywistych aplikacji internetowych i odzwierciedlały rzeczywistą wydajność, a nie syntetyczne wyniki, pod kątem których specjalnie zoptymalizowano silniki przeglądarek.

W przeciwieństwie do benchmarku Speedometer 3, JetStream 3 koncentruje się na pomiarze możliwości obliczeniowych, a nie na renderowaniu interfejsu i szybkości manipulacji DOM. JetStream 3 lepiej odzwierciedla wydajność gier przeglądarkowych, symulatorów fizyki, funkcjonalności rdzenia platformy, narzędzi kryptograficznych i złożonych algorytmów.

Możliwości testowania WebAssembly (Wasm) zostały znacząco rozszerzone, w tym ocena zaawansowanych funkcji WebAssembly, takich jak obsługa wyjątków, wykorzystanie wektorowych instrukcji SIMD oraz rozszerzenie WasmGC do wykonywania projektów w językach z odśmiecaniem pamięci. Dodano testy wydajności dla aplikacji WebAssembly zbudowanych z wykorzystaniem zestawów narzędzi J2CL, Dart2wasm, Kotlin/Wasm, Rust i .NET, a wygenerowanych z kodu Java, Dart, Kotlin, Rust i C#.

Nowe obciążenia używane w testowaniu języka WebAssembly obejmują obliczanie skrótów argon2, uruchamianie modelu uczenia maszynowego przy użyciu instrukcji SIMD w celu optymalizacji, generowanie interfejsów użytkownika w językach Dart i Kotlin, uruchamianie SQLite3 oraz uruchamianie interpretera i środowiska wykonawczego .NET skompilowanego w języku WebAssembly.

Dodano 15 nowych testów JavaScript, w tym silnik 3D Babylon.js, operacje na krzywych eliptycznych ed25519, bibliotekę MobX, podświetlanie składni za pomocą prismjs, kilka implementacji serwerów proxy, śledzenie promieni, operacje w systemie plików, symulator zachowań cząstek 3D Three.js, kompilację Typescript 5.9, walidację ciągów za pomocą validator.js i generowanie stron za pomocą React.

Aby zapobiec wpływowi częstotliwości procesora i obciążenia wejścia/wyjścia na wyniki między testami, JetStream wstępnie ładuje wszystkie zasoby przed uruchomieniem testów w przeglądarce. Aby zmniejszyć szczytowe zużycie pamięci i zapewnić buforowanie, zasoby są przechowywane jako bloby zakodowane w adresie URL. JetStream może być używany do testowania nie tylko przeglądarek, ale także samodzielnych silników, takich jak d8.

Źródło: opennet.ru

Dodaj komentarz