Разработчик Оливер Смит поделился новыми успехами по ускорению запуска 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 ставить.
Добавить комментарий