Η απόδοση της συλλογής JIT έχει βελτιωθεί αισθητά στις νυχτερινές εκδόσεις του Firefox

В νυχτερινές κατασκευές Firefox περιλαμβάνεται ενημερωμένος μεταγλωττιστής JIT, αναπτηγμένος με την κωδική ονομασία WarpBuilder. Για να ενεργοποιήσετε το νέο JIT, παρέχεται η επιλογή "javascript.options.warp" στο about:config.
Σημειώνεται ότι το WarpBuilder είναι μόνο το πρώτο βήμα προς την ενσωμάτωση νέων βελτιστοποιήσεων στο πρόγραμμα περιήγησης, οι οποίες προγραμματίζονται να εφαρμοστούν μέσα στον επόμενο χρόνο.

Το νέο JIT βελτιώνει την απόδοση της μηχανής JavaScript SpiderMonkey μειώνοντας τις πληροφορίες εσωτερικού τύπου που παρακολουθούνται στη μηχανή και χρησιμοποιώντας την τεχνική ενδιάμεσης προσωρινής αποθήκευσης κώδικα (CacheIR) προηγουμένως προτείνεται στον διερμηνέα bytecode "baseline", ο οποίος καταλαμβάνει μια ενδιάμεση θέση μεταξύ ενός κανονικού διερμηνέα και ενός μεταγλωττιστή πριν από το JIT. Αυτές οι αλλαγές κατέστησαν δυνατή τη σημαντική απλοποίηση της αρχιτεκτονικής JIT, την αύξηση της ανταπόκρισης, τη μείωση του χρόνου φόρτωσης της σελίδας και τη μείωση της κατανάλωσης μνήμης.

διάσημοςότι το νέο JIT έλυσε πολλά προβλήματα του παλιού JIT IonBuilder, όπως:

  • Πολυπλοκότητα υλοποίησης και πιθανά προβλήματα ασφάλειας.
  • Πρόσθετα γενικά έξοδα για τον κώδικα Baseline/C++.
  • Υπερβολική εξειδίκευση που οδηγεί σε περιττές εκ νέου μεταγλώττιση.
  • Δημιουργία ενδιάμεσου κώδικα MIR (IR μεσαίου επιπέδου) στο κύριο νήμα (στο WarpBuilder, η κύρια διάταξη του ενδιάμεσου κώδικα τοποθετείται σε ξεχωριστό νήμα).
  • Πρόσθετη κατανάλωση μνήμης για την αποθήκευση δεδομένων σχετικά με τύπους και ομάδες αντικειμένων (ObjectGroups).

Κατά μέσο όρο, σε δοκιμές που αξιολογούν την απόδοση με βάση οπτικές μετρήσεις, παρατηρείται επιτάχυνση 5-15% κατά τη χρήση του WarpBuilder. Το ποσοστό ολοκλήρωσης της δοκιμής ταχύμετρου αυξήθηκε κατά 10%. Η δοκιμή σε πραγματικούς ιστότοπους έδειξε μείωση του χρόνου φόρτωσης των Εγγράφων Google κατά 20%, ευρετήριο SpeedIndex κατά το άνοιγμα της ενότητας Android στο Reddit βελτιώθηκε από 13%, το pdfpaint άρχισε να λειτουργεί πιο γρήγορα 18%. Κατανάλωση μνήμης στο τεστ tp6 μειώθηκε κατά 8%. Δεδομένα Οι στατιστικές στα εργαλεία προγραμματιστών (devtools perf) έδειξαν επίσης μείωση 8% στην κατανάλωση μνήμης.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο