Δημοσιεύτηκε το JetStream 3, ένα κιτ εργαλείων συγκριτικής αξιολόγησης απόδοσης προγράμματος περιήγησης ιστού. Δοκιμάζει την απόδοση των μηχανών JavaScript και WebAssembly κατά την εκτέλεση τυπικών εφαρμογών ιστού με υψηλές απαιτήσεις υπολογιστικής ισχύος. Για την επίτευξη αντικειμενικών και ανεξάρτητων αποτελεσμάτων, το έργο αναπτύσσεται από κοινού από προγραμματιστές ανταγωνιστικών μηχανών περιήγησης από την Google, την Apple και τη Mozilla. Ο κώδικας διατίθεται με άδεια BSD.
Η νέα έκδοση λαμβάνει υπόψη τις σύγχρονες τάσεις και αλλαγές που έχουν συμβεί στον ιστό από την κυκλοφορία του JetStream 2 το 2019 και επίσης ενημερώνει τις δοκιμές ώστε να ταιριάζουν με τα λειτουργικά πρότυπα πραγματικών εφαρμογών ιστού και να αντικατοπτρίζουν την πραγματική απόδοση, αντί για συνθετικά αποτελέσματα για τα οποία οι μηχανές περιήγησης είναι ειδικά βελτιστοποιημένες.
Σε αντίθεση με το benchmark του Speedometer 3, το JetStream 3 εστιάζει στη μέτρηση των υπολογιστικών δυνατοτήτων και όχι στην απόδοση διεπαφών και στις ταχύτητες χειρισμού DOM. Το JetStream 3 αντικατοπτρίζει καλύτερα την απόδοση των παιχνιδιών browser, των προσομοιωτών φυσικής, της λειτουργικότητας του core framework, των κρυπτογραφικών εργαλείων και των σύνθετων αλγορίθμων.
Οι δυνατότητες δοκιμών του WebAssembly (Wasm) έχουν επεκταθεί σημαντικά, συμπεριλαμβανομένης της αξιολόγησης προηγμένων λειτουργιών του WebAssembly, όπως ο χειρισμός εξαιρέσεων, η χρήση διανυσματικών οδηγιών SIMD και η επέκταση WasmGC για την εκτέλεση έργων σε γλώσσες που έχουν συλλεχθεί από άχρηστα αρχεία. Έχουν προστεθεί δοκιμές απόδοσης για εφαρμογές WebAssembly που έχουν κατασκευαστεί χρησιμοποιώντας τα κιτ εργαλείων J2CL, Dart2wasm, Kotlin/Wasm, Rust και .NET και έχουν δημιουργηθεί από κώδικα Java, Dart, Kotlin, Rust και C#.
Τα νέα φόρτα εργασίας που χρησιμοποιούνται στις δοκιμές WebAssembly περιλαμβάνουν τον υπολογισμό των hashes argon2, την εκτέλεση ενός μοντέλου μηχανικής μάθησης χρησιμοποιώντας οδηγίες SIMD για βελτιστοποίηση, τη δημιουργία διεπαφών χρήστη σε Dart και Kotlin, την εκτέλεση του SQLite3 και την εκτέλεση του διερμηνέα και του χρόνου εκτέλεσης .NET που μεταγλωττίζονται στο WebAssembly.
Προστέθηκαν 15 νέες δοκιμές JavaScript, συμπεριλαμβανομένης της μηχανής 3D Babylon.js, των λειτουργιών ελλειπτικής καμπύλης ed25519, της βιβλιοθήκης MobX, της επισήμανσης σύνταξης με prismjs, αρκετών υλοποιήσεων proxy, της ανίχνευσης ακτίνων, των λειτουργιών συστήματος αρχείων, του προσομοιωτή συμπεριφοράς σωματιδίων 3D Three.js, της μεταγλώττισης Typescript 5.9, της επικύρωσης συμβολοσειρών με το validator.js και της δημιουργίας σελίδων με το React.
Για να αποτρέψει την επίδραση της συχνότητας της CPU και των φορτίων εισόδου/εξόδου στα αποτελέσματα μεταξύ των δοκιμών, το JetStream προφορτώνει όλους τους πόρους πριν από την εκτέλεση δοκιμών στο πρόγραμμα περιήγησης. Για να μειωθεί η μέγιστη κατανάλωση μνήμης και να διασφαλιστεί η προσωρινή αποθήκευση, οι πόροι αποθηκεύονται ως blob με κωδικοποίηση URL. Το JetStream μπορεί να χρησιμοποιηθεί για τη δοκιμή όχι μόνο προγραμμάτων περιήγησης αλλά και αυτόνομων μηχανών, όπως το d8.
Πηγή: opennet.ru
