Compania Canonical a început să abordeze problemele de performanță ale pachetului snap pentru Firefox, care a fost propus ca implicit în Ubuntu 22.04 în locul pachetului deb obișnuit. Principala nemulțumire a utilizatorilor este legată de timpul foarte lung de pornire a Firefox-ului. De exemplu, pe laptopul Dell XPS 13, prima pornire a Firefox-ului după instalare durează 7.6 secunde, pe laptopul Thinkpad X240 — 15 secunde, iar pe placa Raspberry Pi 400 — 38 secunde. Repornirile se realizează în 0.86, 1.39 și, respectiv, 8.11 secunde.
În timpul analizei problemei au fost identificate 4 cauze principale ale pornirii lente, cărora li se va acorda o atenție deosebită:
- Până la întârzieri mari cauzate de căutarea fișierelor în interiorul imaginii comprimate squashfs, care sunt deosebit de perceptibile pe sistemele cu resurse reduse. Problema urmează să fie rezolvată prin gruparea conținutului pentru a minimiza operațiile de mișcare prin imagine în timpul pornirii.
- Pe Raspberry Pi și sistemele cu GPU AMD, întârzierile mari s-au dovedit a fi cauzate de o deficiență în determinarea driverului grafic, ceea ce a dus la utilizarea redării software cu o compilare foarte lentă a shader-elor. Un patch pentru rezolvarea acestei probleme a fost deja adăugat în snapd.
- O sumă considerabilă de timp a fost utilizată pentru copierea modulului încorporat în pachet în catalogul utilizatorului. Pachetul snap a inclus 98 de pachete lingvistice, care au fost toate copiate, indiferent de limba selectată.
- Întârzierile au apărut și din cauza determinării tuturor fonturilor disponibile, temelor icone și configurațiilor fonturilor.
La pornirea Firefox din snap au fost observate de asemenea probleme individuale de performanță în timpul utilizării, dar dezvoltatorii Ubuntu au pregătit deja soluții care îmbunătățesc performanța. De exemplu, începând cu Firefox 100.0, la compilare sunt incluse optimizări la etapa de conectare (LTO) și bazate pe rezultatele profilării codului (PGO). Pentru a rezolva problemele de comunicare între Firefox și subsistemele externe a fost pregătit un nou XDG Desktop Portal, a cărui suport este în curs de revizuire pentru a fi inclus în Firefox.
Ca motive pentru promovarea formatului snap pentru browsere se menționează dorința de a simplifica întreținerea și a unifica dezvoltarea pentru diferitele versiuni Ubuntu – pachetul deb necesită întreținere separată pentru toate ramurile suportate de Ubuntu și, prin urmare, construirea și testarea având în vedere diferitele versiuni ale componentelor sistemului, pe când pachetul snap poate fi creat simultan pentru toate ramurile Ubuntu. Mai mult, pachetul snap propus în Ubuntu cu Firefox este întreținut de angajații Mozilla, adică este creat din prima mână, fără intermediari. Furnizarea în format snap a permis, de asemenea, accelerarea livrării noilor versiuni ale browserului către utilizatorii Ubuntu și a oferit posibilitatea de a rula Firefox într-un mediu izolat, creat cu ajutorul mecanismului AppArmor, pentru o protecție suplimentară a sistemului de exploatarea vulnerabilităților din browser.
Sursa: opennet.ro
