Išleistas „JetStream 3“ – žiniatinklio naršyklių našumo lyginamosios analizės įrankių rinkinys. Jis testuoja „JavaScript“ ir „WebAssembly“ variklių našumą, kai veikia tipinės skaičiavimo požiūriu intensyvios žiniatinklio programos. Siekiant objektyvių ir nepriklausomų rezultatų, projektą kartu kuria konkuruojančių „Google“, „Apple“ ir „Mozilla“ naršyklių variklių kūrėjai. Kodas prieinamas pagal BSD licenciją.
Naujoji versija atsižvelgia į šiuolaikines tendencijas ir pokyčius, įvykusius internete nuo „JetStream 2“ išleidimo 2019 m., taip pat atnaujina testus, kad jie atitiktų realių žiniatinklio programų veikimo modelius ir atspindėtų realų našumą, o ne sintetinius rezultatus, kuriems naršyklių varikliai yra specialiai optimizuoti.
Kitaip nei „Speedometer 3“ etalonas, „JetStream 3“ daugiausia dėmesio skiria skaičiavimo pajėgumų, o ne sąsajos atvaizdavimo ir DOM manipuliavimo greičio matavimui. „JetStream 3“ geriau atspindi naršyklės žaidimų, fizikos simuliatorių, pagrindinės sistemos funkcijų, kriptografinių įrankių ir sudėtingų algoritmų našumą.
„WebAssembly“ (Wasm) testavimo galimybės buvo gerokai išplėstos, įskaitant pažangių „WebAssembly“ funkcijų, tokių kaip išimčių tvarkymas, vektorinių SIMD instrukcijų naudojimas ir „WasmGC“ plėtinys, skirtas projektams vykdyti šiukšlių surinkimo kalbomis, vertinimą. Pridėti našumo testai „WebAssembly“ programoms, sukurtoms naudojant J2CL, Dart2wasm, Kotlin/Wasm, Rust ir .NET įrankių rinkinius ir generuotoms iš Java, Dart, Kotlin, Rust ir C# kodo.
Nauji „WebAssembly“ testavimo darbo krūviai apima „argon2“ maišos reikšmių skaičiavimą, mašininio mokymosi modelio vykdymą naudojant SIMD instrukcijas optimizavimui, vartotojo sąsajų generavimą „Dart“ ir „Kotlin“, „SQLite3“ vykdymą ir „WebAssembly“ kompiliuoto interpretatoriaus bei vykdymo laiko .NET vykdymą.
Pridėta 15 naujų „JavaScript“ testų, įskaitant „Babylon.js“ 3D variklį, „ed25519“ elipsinių kreivių operacijas, „MobX“ biblioteką, sintaksės paryškinimą naudojant „prismjs“, keletą tarpinio serverio diegimų, spindulių sekimą, failų sistemos operacijas, „Three.js“ 3D dalelių elgsenos simuliatorių, „Typescript 5.9“ kompiliavimą, eilučių patvirtinimą naudojant „validator.js“ ir puslapių generavimą naudojant „React“.
Kad procesoriaus dažnis ir įvesties/išvesties apkrovos neturėtų įtakos rezultatams tarp testų, „JetStream“ iš anksto įkelia visus išteklius prieš paleisdama testus naršyklėje. Siekiant sumažinti didžiausią atminties suvartojimą ir užtikrinti talpyklą, ištekliai saugomi kaip URL užkoduoti „blob“. „JetStream“ galima naudoti ne tik naršyklėms, bet ir atskiriems varikliams, pvz., „d8“, testuoti.
Šaltinis: opennet.ru
