JetStream 3, un set de instrumente pentru evaluarea performanței browserelor web, a fost publicat. Acesta testează performanța motoarelor JavaScript și WebAssembly atunci când rulează aplicații web tipice care necesită multă putere de calcul. Pentru a obține rezultate obiective și independente, proiectul este dezvoltat în comun de dezvoltatorii unor motoare de browser concurente de la Google, Apple și Mozilla. Codul este disponibil sub o licență BSD.
Noua versiune ia în considerare tendințele și schimbările moderne care au avut loc pe web de la lansarea JetStream 2 în 2019 și, de asemenea, actualizează testele pentru a se potrivi cu modelele de funcționare ale aplicațiilor web reale și a reflecta performanța reală, mai degrabă decât rezultatele sintetice pentru care motoarele de browser sunt optimizate în mod special.
Spre deosebire de benchmark-ul Speedometer 3, JetStream 3 se concentrează pe măsurarea capacităților de calcul, mai degrabă decât pe randarea interfeței și a vitezei de manipulare DOM. JetStream 3 reflectă mai bine performanța jocurilor de browser, a simulatoarelor de fizică, a funcționalității framework-ului de bază, a instrumentelor criptografice și a algoritmilor complecși.
Capacitățile de testare WebAssembly (Wasm) au fost extinse semnificativ, inclusiv evaluarea caracteristicilor avansate WebAssembly, cum ar fi gestionarea excepțiilor, utilizarea instrucțiunilor vectoriale SIMD și extensia WasmGC pentru executarea proiectelor în limbaje de tip „garbage collection”. Au fost adăugate teste de performanță pentru aplicațiile WebAssembly construite folosind seturile de instrumente J2CL, Dart2wasm, Kotlin/Wasm, Rust și .NET și generate din cod Java, Dart, Kotlin, Rust și C#.
Noile sarcini de lucru utilizate în testarea WebAssembly includ calcularea hash-urilor argon2, rularea unui model de învățare automată folosind instrucțiuni SIMD pentru optimizare, generarea de interfețe utilizator în Dart și Kotlin, rularea SQLite3 și rularea interpretorului și a fișierului .NET compilat în WebAssembly.
Au fost adăugate 15 noi teste JavaScript, inclusiv motorul 3D Babylon.js, operațiile cu curbe eliptice ed25519, biblioteca MobX, evidențierea sintaxei cu prismjs, mai multe implementări proxy, ray tracing, operații ale sistemului de fișiere, simulatorul de comportament al particulelor 3D Three.js, compilarea Typescript 5.9, validarea șirurilor de caractere cu validator.js și generarea de pagini cu React.
Pentru a preveni ca frecvența procesorului și încărcările I/O să afecteze rezultatele dintre teste, JetStream preîncarcă toate resursele înainte de a rula teste în browser. Pentru a reduce consumul maxim de memorie și a asigura memorarea în cache, resursele sunt stocate ca blob-uri codificate URL. JetStream poate fi utilizat pentru a testa nu numai browsere, ci și motoare independente, cum ar fi d8.
Sursa: opennet.ru
