Οι προγραμματιστές του Ubuntu αρχίζουν να επιλύουν προβλήματα με την αργή κυκλοφορία του πακέτου snap του Firefox

Η Canonical έχει αρχίσει να αντιμετωπίζει προβλήματα απόδοσης με το πακέτο snap Firefox που προσφερόταν από προεπιλογή στο Ubuntu 22.04 αντί για το κανονικό πακέτο deb. Η κύρια δυσαρέσκεια των χρηστών σχετίζεται με την πολύ αργή κυκλοφορία του Firefox. Για παράδειγμα, σε φορητό υπολογιστή Dell XPS 13, η πρώτη εκκίνηση του Firefox μετά την εγκατάσταση διαρκεί 7.6 δευτερόλεπτα, σε φορητό υπολογιστή Thinkpad X240 - 15 δευτερόλεπτα και σε πλακέτα Raspberry Pi 400 - 38 δευτερόλεπτα. Οι επαναλαμβανόμενες εκτοξεύσεις ολοκληρώνονται σε 0.86, 1.39 και 8.11 δευτερόλεπτα, αντίστοιχα.

Κατά την ανάλυση του προβλήματος, εντοπίστηκαν 4 βασικοί λόγοι για την αργή εκκίνηση, η λύση των οποίων θα επικεντρωθεί:

  • Υψηλό κόστος κατά την αναζήτηση αρχείων μέσα σε μια συμπιεσμένη εικόνα squashfs, κάτι που είναι ιδιαίτερα αισθητό σε συστήματα χαμηλής κατανάλωσης. Το πρόβλημα σχεδιάζεται να λυθεί μέσω της ομαδοποίησης περιεχομένου για να ελαχιστοποιηθούν οι λειτουργίες μετακίνησης γύρω από την εικόνα κατά την εκκίνηση.
  • Στο Raspberry Pi και σε συστήματα με GPU AMD, οι μεγάλες καθυστερήσεις συσχετίστηκαν με αποτυχία στον προσδιορισμό του προγράμματος οδήγησης γραφικών και μια εναλλακτική στη χρήση απόδοσης λογισμικού με πολύ αργή μεταγλώττιση των shaders. Μια ενημέρωση κώδικα για την επίλυση του προβλήματος έχει ήδη προστεθεί στο snapd.
  • Πολύς χρόνος δαπανήθηκε για την αντιγραφή των πρόσθετων που είναι ενσωματωμένα στο πακέτο στον κατάλογο του χρήστη. Υπήρχαν 98 πακέτα γλωσσών ενσωματωμένα στο πακέτο snap, τα οποία αντιγράφηκαν όλα, ανεξάρτητα από την επιλεγμένη γλώσσα.
  • Παρουσιάστηκαν επίσης καθυστερήσεις λόγω του εντοπισμού όλων των διαθέσιμων γραμματοσειρών, θεμάτων εικονιδίων και διαμορφώσεων γραμματοσειρών.

Κατά την εκκίνηση του Firefox από το snap, αντιμετωπίσαμε επίσης ορισμένα προβλήματα απόδοσης κατά τη λειτουργία, αλλά οι προγραμματιστές του Ubuntu έχουν ήδη ετοιμάσει διορθώσεις για τη βελτίωση της απόδοσης. Για παράδειγμα, ξεκινώντας με τον Firefox 100.0, οι βελτιστοποιήσεις χρόνου σύνδεσης (LTO) και οι βελτιστοποιήσεις προφίλ κώδικα (PGO) είναι ενεργοποιημένες κατά την κατασκευή. Για την επίλυση προβλημάτων με την ανταλλαγή μηνυμάτων μεταξύ του Firefox και των εξωτερικών υποσυστημάτων, έχει ετοιμαστεί μια νέα πύλη επιφάνειας εργασίας XDG, η υποστήριξη της οποίας βρίσκεται στο στάδιο αναθεώρησης για συμπερίληψη στον Firefox.

Οι λόγοι για την προώθηση της μορφής snap για προγράμματα περιήγησης περιλαμβάνουν την επιθυμία να απλοποιηθεί η συντήρηση και να ενοποιηθεί η ανάπτυξη για διαφορετικές εκδόσεις του Ubuntu - το πακέτο deb απαιτεί ξεχωριστή συντήρηση για όλα τα υποστηριζόμενα υποκαταστήματα του Ubuntu και, κατά συνέπεια, συναρμολόγηση και δοκιμή λαμβάνοντας υπόψη διαφορετικές εκδόσεις του συστήματος στοιχεία και το πακέτο snap μπορεί να δημιουργηθεί αμέσως για όλα τα υποκαταστήματα του Ubuntu. Επιπλέον, το πακέτο snap που προσφέρεται στο Ubuntu με τον Firefox διατηρείται από υπαλλήλους της Mozilla, δηλ. διαμορφώνεται από πρώτο χέρι χωρίς μεσάζοντες. Η παράδοση σε μορφή snap κατέστησε επίσης δυνατή την επιτάχυνση της παράδοσης νέων εκδόσεων του προγράμματος περιήγησης στους χρήστες του Ubuntu και κατέστησε δυνατή την εκτέλεση του Firefox σε ένα απομονωμένο περιβάλλον που δημιουργήθηκε χρησιμοποιώντας τον μηχανισμό AppArmor, για την περαιτέρω προστασία του υπόλοιπου συστήματος από την εκμετάλλευση ευπάθειες στο πρόγραμμα περιήγησης.

Πηγή: opennet.ru

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