Vývojáři Ubuntu začínají řešit problémy s pomalým spouštěním balíčku Firefox snap

Canonical začal řešit problémy s výkonem pomocí balíčku Firefox snap, který byl standardně nabízen v Ubuntu 22.04 namísto běžného deb balíčku. Hlavní nespokojenost mezi uživateli souvisí s velmi pomalým spouštěním Firefoxu. Například na notebooku Dell XPS 13 trvá první spuštění Firefoxu po instalaci 7.6 sekund, na notebooku Thinkpad X240 - 15 sekund a na desce Raspberry Pi 400 - 38 sekund. Opakované starty jsou dokončeny za 0.86, 1.39 a 8.11 sekundy.

Při analýze problému byly identifikovány 4 hlavní důvody pomalého startu, na jejichž řešení se zaměříme:

  • Vysoká režie při hledání souborů uvnitř komprimovaného obrazu squashfs, což je zvláště patrné na systémech s nízkou spotřebou. Problém se plánuje vyřešit pomocí seskupování obsahu, aby se minimalizovaly operace pohybu po obrazu během spouštění.
  • Na Raspberry Pi a systémech s GPU AMD byly dlouhé prodlevy spojeny s neúspěchem při určování grafického ovladače a návratem k použití softwarového vykreslování s velmi pomalou kompilací shaderů. Do snapdu již byla přidána oprava k vyřešení problému.
  • Mnoho času bylo vynaloženo kopírováním doplňků zabudovaných do balíčku do adresáře uživatele. V balíčku snap bylo zabudováno 98 jazykových balíčků, které byly všechny zkopírovány bez ohledu na vybraný jazyk.
  • Ke zpožděním došlo také kvůli identifikaci všech dostupných písem, motivů ikon a konfigurací písem.

Při spouštění Firefoxu ze snapu jsme také během provozu zaznamenali určité problémy s výkonem, ale vývojáři Ubuntu již připravili opravy pro zlepšení výkonu. Například počínaje Firefoxem 100.0 jsou při sestavování povoleny optimalizace doby propojení (LTO) a optimalizace profilování kódu (PGO). Pro vyřešení problémů se zasíláním zpráv mezi Firefoxem a externími subsystémy byl připraven nový XDG Desktop Portal, jehož podpora je ve fázi revize pro zahrnutí do Firefoxu.

Důvody pro propagaci formátu snap pro prohlížeče zahrnují touhu zjednodušit údržbu a sjednotit vývoj pro různé verze Ubuntu - balíček deb vyžaduje samostatnou údržbu pro všechny podporované větve Ubuntu a v souladu s tím sestavení a testování s ohledem na různé verze systému. komponenty a balíček snap lze okamžitě vygenerovat pro všechny větve Ubuntu. Balíček snap nabízený v Ubuntu s Firefoxem je navíc spravován zaměstnanci Mozilly, tzn. je tvořena z první ruky bez prostředníků. Dodávka ve formátu snap také umožnila urychlit doručování nových verzí prohlížeče uživatelům Ubuntu a umožnila provozovat Firefox v izolovaném prostředí vytvořeném pomocí mechanismu AppArmor, aby byl zbytek systému dále chráněn před zneužitím. zranitelností v prohlížeči.

Zdroj: opennet.ru

Přidat komentář