Objavljen je JetStream 3, alat za mjerenje performansi web preglednika. Testira performanse JavaScript i WebAssembly mehanizama pri pokretanju tipičnih računalno intenzivnih web aplikacija. Kako bi se postigli objektivni i nezavisni rezultati, projekat zajednički razvijaju programeri konkurentskih pretraživačkih mehanizama iz Googlea, Applea i Mozille. Kod je dostupan pod BSD licencom.
Nova verzija uzima u obzir moderne trendove i promjene koje su se dogodile na webu od izlaska JetStream 2 2019. godine, a također ažurira testove kako bi odgovarali obrascima rada stvarnih web aplikacija i odražavali stvarne performanse, a ne sintetičke rezultate za koje su pretraživači posebno optimizirani.
Za razliku od Speedometer 3 benchmarka, JetStream 3 se fokusira na mjerenje računarskih mogućnosti, a ne na brzinu renderiranja interfejsa i manipulacije DOM-om. JetStream 3 bolje odražava performanse browser igara, simulatora fizike, funkcionalnosti osnovnog okvira, kriptografskih alata i složenih algoritama.
Mogućnosti testiranja WebAssembly-ja (Wasm) su značajno proširene, uključujući evaluaciju naprednih WebAssembly funkcija kao što su rukovanje izuzecima, korištenje vektorskih SIMD instrukcija i WasmGC ekstenzija za izvršavanje projekata u jezicima za prikupljanje otpada. Dodani su testovi performansi za WebAssembly aplikacije izgrađene korištenjem J2CL, Dart2wasm, Kotlin/Wasm, Rust i .NET alata, te generirane iz Java, Dart, Kotlin, Rust i C# koda.
Nova radna opterećenja korištena u WebAssembly testiranju uključuju izračunavanje argon2 heševa, pokretanje modela mašinskog učenja korištenjem SIMD instrukcija za optimizaciju, generisanje korisničkih interfejsa u Dartu i Kotlinu, pokretanje SQLite3 i pokretanje interpretera i runtime .NET-a kompajliranog u WebAssembly-ju.
Dodato je 15 novih JavaScript testova, uključujući Babylon.js 3D engine, operacije eliptičnih krivulja ed25519, MobX biblioteku, isticanje sintakse pomoću prismjs-a, nekoliko proxy implementacija, praćenje zraka, operacije sistema datoteka, Three.js 3D simulator ponašanja čestica, kompilaciju Typescripta 5.9, validaciju stringova pomoću validator.js i generisanje stranica pomoću Reacta.
Kako bi se spriječilo da frekvencija CPU-a i I/O opterećenja utiču na rezultate između testova, JetStream prethodno učitava sve resurse prije pokretanja testova u pregledniku. Kako bi se smanjila vršna potrošnja memorije i osiguralo keširanje, resursi se pohranjuju kao URL-kodirani blobovi. JetStream se može koristiti za testiranje ne samo preglednika već i samostalnih mehanizama, kao što je d8.
izvor: opennet.ru
