Η Google κυκλοφόρησε πρόσφατα το Chrome 91 στο σταθερό κανάλι και προσφέρει 23% ταχύτερη απόδοση λόγω των αλλαγών που αναφέρονται στην ανάρτηση.
Google κυκλοφόρησε πρόσφατα Το Chrome 91 στο σταθερό κανάλι. Η ενημέρωση εισήγαγε μια σειρά από αλλαγές, συμπεριλαμβανομένων ανανεωμένων στοιχείων ελέγχου φόρμας, υποστήριξης προεπιλεγμένης λειτουργίας επιφάνειας εργασίας σε συσκευές μεγάλης οθόνης, βελτιώσεων API πρόσβασης συστήματος αρχείων και πολλά άλλα. Η ενημέρωση συνοδεύτηκε επίσης με μια σειρά από βελτιώσεις απόδοσης και η Google αποκάλυψε τώρα ότι η τελευταία ενημέρωση κάνει το Chrome έως και 23% πιο γρήγορο από την προηγούμενη έκδοση.
Σε ένα πρόσφατη ανάρτηση στο Ιστολόγιο Chromium, Ο διευθυντής προϊόντων Chrome Thomas Nattestad αποκάλυψε ότι το Chrome 91 «είναι τώρα έως και 23% πιο γρήγορος με την κυκλοφορία του α νέος μεταγλωττιστής Sparkplug και σύντομες ενσωματωμένες κλήσεις, εξοικονομώντας πάνω από 17 χρόνια από τον χρόνο CPU των χρηστών μας κάθε μέρα!» Η ανάρτηση εξηγεί ότι το Sparkplug είναι ένας νέος μεταγλωττιστής JavaScript που
"καλύπτει το κενό μεταξύ της ανάγκης για γρήγορη έναρξη εκτέλεσης και της βελτιστοποίησης του κώδικα για μέγιστη απόδοση."Οι σύντομες ενσωματωμένες κλήσεις, από την άλλη πλευρά, βελτιστοποιούν "όπου στη μνήμη βάζουμε κώδικα που δημιουργήθηκε για να αποφύγουμε έμμεσα άλματα κατά την κλήση συναρτήσεων."Η μηχανή V8 του Chrome διαθέτει πολλαπλούς μεταγλωττιστές που κάνουν διαφορετικούς ανταγωνισμούς στις διάφορες φάσεις της εκτέλεσης JavaScript. Ο νέος μεταγλωττιστής Sparkplug επιτυγχάνει μια ισορροπία μεταξύ του συστήματος μεταγλωττιστή δύο επιπέδων του κινητήρα -- Ignition και Turbofan -- για τη δημιουργία εγγενούς κώδικα μηχανής χωρίς να εξαρτάται από τις πληροφορίες που συλλέγονται κατά την εκτέλεση του JavaScript κώδικας. Λόγω αυτού, αυτό "Αρχίζει να εκτελείται γρήγορα ενώ εξακολουθεί να δημιουργεί σχετικά γρήγορο κώδικα," βελτιώνοντας έτσι την απόδοση.
Οι κοντές ενσωματώσεις είναι ένας νέος μηχανισμός που βοηθά τον κινητήρα V8 να βελτιστοποιήσει τη θέση στη μνήμη του παραγόμενου κώδικα. "Όταν το V8 δημιουργεί κώδικα για συγκεκριμένη CPU από JavaScript, τοποθετεί αυτόν τον κώδικα στη μνήμη. Αυτός ο παραγόμενος κώδικας θα καλεί συχνά ενσωματωμένες συναρτήσεις, οι οποίες είναι μικρά αποσπάσματα κώδικα για το χειρισμό κοινών ρουτινών --τα πάντα, από βασικές λειτουργίες, όπως η προσθήκη δύο μεταβλητών, έως πλήρεις συναρτήσεις στο πρότυπο JavaScript βιβλιοθήκη. Για ορισμένες CPU, η κλήση συναρτήσεων που βρίσκονται πιο μακριά από τον κώδικα που δημιουργείτε μπορεί να προκαλέσει την αποτυχία των εσωτερικών βελτιστοποιήσεων της CPU (όπως η λογική πρόβλεψης κλάδου). Η λύση για αυτό είναι η αντιγραφή των ενσωματωμένων συναρτήσεων στην ίδια περιοχή μνήμης με τον κώδικα που δημιουργείται." προσθέτει η ανάρτηση. Σημειώνει επίσης ότι αυτή η αλλαγή θα βελτιώσει την απόδοση του Chrome στο τσιπ Apple M1.
Για να μάθετε περισσότερα σχετικά με αυτές τις αναβαθμίσεις απόδοσης, ανατρέξτε στο Chrome V8 ανάρτηση ιστολογίου.