Mozilla розгортає нові покращення продуктивності Firefox, цього разу зосереджені на середовищі виконання WebAssembly браузера. Як повідомляє HowToGeek, деякі завдання обробки тепер у Firefox виконуються більш ніж у 75 разів швидше.
Деякі більш просунуті вебпрограми й ігри використовують код, який компілюється в WebAssembly, замість коду, написаного або скомпільованого в JavaScript.
WebAssembly в основному використовується для складних інструментів відео-, аудіо- та 3D-рендерінгу, таких як вебверсії Adobe Photoshop, SketchUp, Google Earth, Figma та ігор, створених за допомогою Unity.
Однак Firefox має певні проблеми із продуктивністю під час компіляції коду WebAssembly, що може сповільнити швидкість реакції та час початкового завантаження для вебпрограм, які його використовують.
У дописі блогу розробки Mozilla SpiderMonkey пояснюється:
«Коли компіляція Baseline завершена, ми компілюємо модуль Wasm за допомогою нашого вдосконаленого компілятора Ion. Цей бекенд створює швидший машинний код, але час компіляції набагато довший. Проблема з модулем ONNX полягала в тому, що сервер компілятора Ion займав багато часу та використовував багато пам’яті для його компіляції. На одній машині Linux x64 іонна компіляція цього модуля зайняла орієнтовно 5 хвилин і використала понад 4 ГБ пам’яті. Незважаючи на те, що ця робота виконується у фонових потоках, це все одно надто багато».
Інженери Mozilla змогли оновити розподільник реєстрів для компоненту Ion Firefox за допомогою більш ефективного векторного методу, який прискорив час компіляції приблизно у 20 разів та оновив інші компоненти компілятора за допомогою інших алгоритмів.
У дописі в блозі зазначено:
«Завдяки цим змінам Ion може скомпілювати модуль ONNX Wasm менш ніж за 3,9 секунди на комп’ютері більш ніж у 75 разів швидше, ніж до цих змін».
Кінцевим результатом є те, що Photoshop, Google Earth та інші вебпрограми й ігри, які використовують WebAssembly, загалом повинні завантажуватися швидше у Firefox. Уся вебпрограма не отримає такого збільшення швидкості до 75 разів, але певні операції у програмі будуть швидшими.
У Mozilla кажуть, що один із великих модулів WebAssembly, який використовується у безкоштовній онлайн-демо-версії Photoshop, тепер компілюється за 14 секунд у Firefox замість 4 хвилин, а один тест у вебтесті JetStream 2 тепер завершується за 0,2 секунди замість 2,8 секунди.
Компанія працює над іншими вдосконаленнями WebAssembly у Firefox, тому складні вебпрограми з часом повинні вдосконалюватися. Це, звичайно, приємно бачити, окрім інших покращень зручності використання, як-от локальний переклад.
Читайте також на ProIT, що Mozilla продовжує підтримку Firefox і все ще отримує оновлення для Windows 7 і 8.
Підписуйтеся на ProIT у Telegram, щоб не пропустити жодної публікації!