Вы здесь

Новые успехи по ускорению запуска Firefox Snap в Ubuntu

Опубликовано: вт, 12/07/2022 - 22:45
ускорение Firefox

Разработчик Оливер Смит поделился новыми успехами по ускорению запуска Snap-версии Firefox, поставляемой в составе Ubuntu. Напомню, что на текущий момент Firefox из Snap-пакета достаточно долго запускается, особенно это касается первого запуска на свежеустановленной системе (подробнее об этом можно почитать тут).

Для ускорения запуска браузера было сделано два крупных изменения. В первую очередь, разработчики из Mozilla наконец-то устранили свой косяк, когда при первом запуске браузер копировал все языковые пакеты в папку программы. Теперь копируется только один, актуальный для системы языковой пакет. Благодаря этому удалось достичь ускорения запуска на ~6 секунд на новом оборудовании. 

Второе изменение касается используемых алгоритмов компрессии. Для запуска Firefox требуются библиотеки из Snap-пакетов gnome-3-38-2004 и gtk-common-theme, которые распаковываются при доступе к ним. Благодаря смене алгоритма компрессии этих пакетов с XZ на LZO (сам Firefox его как раз и использует), удалось достичь значительного ускорения запуска браузера. Это касается не только Firefox, но и других браузеров, использующих библиотеки GNOME/GTK - к примеру, Chromium.

В качестве примера разработчик привел запуск на компьютере следующей конфигурации: AMD Ryzen 5, 8 Гб памяти, графика Vega 8, а также накопитель NVMe PCIe на 256 Гб. С алгоритмом XZ запуск Firefox занимал около 15 секунд, теперь это всего 6 с! Итого ускорение составляет практически 60%. Запуск Thunderbird ускорился с 12 до 7 секунд (42%), а Chromium - с 9 до 5 секунд (29%). 

На Raspberry Pi 400 с SD карточкой первый запуск Firefox ускорился с 36 до 17 секунд благодаря использованию LZO и копированию только одного языкового пакета. Это уже быстрее более чем на 50%.

Следующими в очереди на оптимизацию стоят следующие механизмы: 

  • использование нескольких потоков CPU для декомпрессии Squashfs (сейчас используется только 1 поток), 
  • устранение проблемы программной отрисовки на Raspberry Pi (когда невозможно корректно определить GPU),
  • прекэширование (система сама "угадывает" будущие действия пользователя и подгружает необходимые элементы).

Комментарии

Аватар пользователя Евгений

Это радует. А то совсем им пользоваться невозможно на старом железе. Приходилось из deb ставить.

Добавить комментарий