Google, Apple en Mozilla hawwe JetStream 3 útbrocht om browserprestaasjes te mjitten.

JetStream 3, in toolkit foar it benchmarken fan webbrowserprestaasjes, is publisearre. It test de prestaasjes fan JavaScript- en WebAssembly-motoren by it útfieren fan typyske berekkeningsintensive webapplikaasjes. Om objektive en ûnôfhinklike resultaten te berikken, wurdt it projekt mienskiplik ûntwikkele troch ûntwikkelders fan konkurrearjende browsermotoren fan Google, Apple en Mozilla. De koade is beskikber ûnder in BSD-lisinsje.

De nije ferzje hâldt rekken mei moderne trends en feroarings dy't sûnt de frijlitting fan JetStream 2 yn 2019 op it web plakfûn hawwe, en bywurket ek testen om oerien te kommen mei de wurkwizen fan echte webapplikaasjes en echte prestaasjes te reflektearjen, ynstee fan synthetyske resultaten wêrfoar browsermotors spesifyk optimalisearre binne.

Oars as de Speedometer 3-benchmark rjochtet JetStream 3 him op it mjitten fan berekkeningsmooglikheden ynstee fan snelheden foar interface-rendering en DOM-manipulaasje. JetStream 3 reflektearret better de prestaasjes fan browserspultsjes, natuerkundesimulators, kearnframeworkfunksjonaliteit, kryptografyske ark en komplekse algoritmen.

De testmooglikheden fan WebAssembly (Wasm) binne flink útwreide, ynklusyf evaluaasje fan avansearre WebAssembly-funksjes lykas útsûnderingsôfhanneling, it gebrûk fan fektor-SIMD-ynstruksjes, en de WasmGC-útwreiding foar it útfieren fan projekten yn garbage-collected-talen. Prestaasjetests binne tafoege foar WebAssembly-applikaasjes boud mei de J2CL-, Dart2wasm-, Kotlin/Wasm-, Rust- en .NET-toolkits, en generearre út Java-, Dart-, Kotlin-, Rust- en C#-koade.

Nije workloads dy't brûkt wurde yn WebAssembly-testen omfetsje it berekkenjen fan argon2-hashes, it útfieren fan in masinelearmodel mei SIMD-ynstruksjes foar optimalisaasje, it generearjen fan brûkersynterfaces yn Dart en Kotlin, it útfieren fan SQLite3, en it útfieren fan 'e interpreter en runtime .NET dy't kompilearre binne yn WebAssembly.

15 nije JavaScript-tests tafoege, ynklusyf de Babylon.js 3D-motor, ed25519 elliptyske kromme-operaasjes, de MobX-bibleteek, syntaksismarkearring mei prismjs, ferskate proxy-ymplemintaasjes, ray tracing, bestânsysteemoperaasjes, de Three.js 3D-dieltsjegedrachsimulator, Typescript 5.9-kompilaasje, stringfalidaasje mei validator.js, en sideneraasje mei React.

Om te foarkommen dat CPU-frekwinsje en I/O-loads ynfloed hawwe op resultaten tusken testen, laadt JetStream alle boarnen foarôf foardat testen yn 'e browser útfierd wurde. Om peak ûnthâldferbrûk te ferminderjen en caching te garandearjen, wurde boarnen opslein as URL-kodearre blobs. JetStream kin brûkt wurde om net allinich browsers te testen, mar ek standalone motors, lykas d8.

Boarne: opennet.ru

Add a comment