JetStream 3, 'n webblaaierprestasie-maatstafgereedskapskis, is gepubliseer. Dit toets die werkverrigting van JavaScript- en WebAssembly-enjins wanneer tipiese berekeningsintensiewe webtoepassings uitgevoer word. Om objektiewe en onafhanklike resultate te behaal, word die projek gesamentlik ontwikkel deur ontwikkelaars van mededingende blaaierenjins van Google, Apple en Mozilla. Die kode is beskikbaar onder 'n BSD-lisensie.
Die nuwe weergawe neem moderne tendense en veranderinge in ag wat op die web plaasgevind het sedert die vrystelling van JetStream 2 in 2019, en werk ook toetse op om by die bedryfspatrone van regte webtoepassings te pas en werklike prestasie te weerspieël, eerder as sintetiese resultate waarvoor blaaier-enjins spesifiek geoptimaliseer is.
Anders as die Speedometer 3-maatstaf, fokus JetStream 3 op die meting van berekeningsvermoëns eerder as koppelvlakweergawes en DOM-manipulasiespoed. JetStream 3 weerspieël die werkverrigting van blaaierspeletjies, fisikasimulators, kernraamwerkfunksionaliteit, kriptografiese gereedskap en komplekse algoritmes beter.
WebAssembly (Wasm) toetsvermoëns is aansienlik uitgebrei, insluitend die evaluering van gevorderde WebAssembly-kenmerke soos uitsonderingshantering, die gebruik van vektor-SIMD-instruksies en die WasmGC-uitbreiding vir die uitvoering van projekte in vullisversamelde tale. Prestasietoetse is bygevoeg vir WebAssembly-toepassings wat gebou is met behulp van die J2CL-, Dart2wasm-, Kotlin/Wasm-, Rust- en .NET-gereedskapstelle, en gegenereer is uit Java-, Dart-, Kotlin-, Rust- en C#-kode.
Nuwe werkladings wat in WebAssembly-toetsing gebruik word, sluit in die berekening van argon2-hashes, die uitvoer van 'n masjienleermodel met behulp van SIMD-instruksies vir optimalisering, die generering van gebruikerskoppelvlakke in Dart en Kotlin, die uitvoer van SQLite3, en die uitvoer van die interpreteerder en runtime .NET wat in WebAssembly saamgestel is.
15 nuwe JavaScript-toetse is bygevoeg, insluitend die Babylon.js 3D-enjin, ed25519 elliptiese kurwe-bewerkings, die MobX-biblioteek, sintaksis-uitlig met prismjs, verskeie proxy-implementerings, straalnasporing, lêerstelselbewerkings, die Three.js 3D-deeltjiegedragsimulator, Typescript 5.9-samestelling, stringvalidering met validator.js, en bladsygenerering met React.
Om te verhoed dat SVE-frekwensie en I/O-ladings resultate tussen toetse beïnvloed, laai JetStream alle hulpbronne vooraf voordat toetse in die blaaier uitgevoer word. Om piekgeheueverbruik te verminder en kasgeheue te verseker, word hulpbronne as URL-geënkodeerde blobs gestoor. JetStream kan gebruik word om nie net blaaiers te toets nie, maar ook losstaande enjins, soos d8.
Bron: opennet.ru
