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 neovisni rezultati, projekt zajednički razvijaju programeri konkurentskih mehanizama preglednika 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 posebno optimizirani mehanizmi preglednika.
Za razliku od Speedometer 3 benchmarka, JetStream 3 se fokusira na mjerenje računalnih mogućnosti, a ne na brzinu renderiranja sučelja 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 WebAssemblyja (Wasm) značajno su proširene, uključujući procjenu naprednih WebAssembly značajki kao što su rukovanje iznimkama, korištenje vektorskih SIMD instrukcija i WasmGC proširenje za izvršavanje projekata u jezicima koji skupljaju smeće. Dodani su testovi performansi za WebAssembly aplikacije izgrađene pomoću J2CL, Dart2wasm, Kotlin/Wasm, Rust i .NET alata, te generirane iz Java, Dart, Kotlin, Rust i C# koda.
Nova opterećenja korištena u WebAssembly testiranju uključuju izračunavanje argon2 hashova, pokretanje modela strojnog učenja pomoću SIMD instrukcija za optimizaciju, generiranje korisničkih sučelja u Dartu i Kotlinu, pokretanje SQLite3 te pokretanje interpretera i runtime .NET-a kompiliranog u WebAssemblyju.
Dodano je 15 novih JavaScript testova, uključujući Babylon.js 3D engine, operacije s eliptičnim krivuljama ed25519, MobX biblioteku, isticanje sintakse s prismjs, nekoliko proxy implementacija, praćenje zraka, operacije datotečnog sustava, Three.js 3D simulator ponašanja čestica, kompilaciju Typescripta 5.9, validaciju stringova s validator.js i generiranje stranica s Reactom.
Kako bi se spriječilo da frekvencija CPU-a i I/O opterećenja utječ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 predmemoriranje, 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
