Команда Google, яка розробляє Android LLVM, інтегрувала у ядро Android нову технологію автоматичної оптимізації зворотного зв’язку — AutoFDO. Ця система вже забезпечила помітне зростання продуктивності пристроїв на базі Android.
Про це розповідає ProIT
Як працює AutoFDO і чому це важливо
AutoFDO — це сучасний механізм оптимізації, що вперше з’явився в Android 12 ще у 2021 році. Технологія спирається на реальні дані про виконання програм, які збираються апаратними моніторами, і використовує їх для керування рішеннями компілятора. Це дозволяє відмовитися від традиційного статичного аналізу на користь профілів, що відображають справжнє навантаження системи. Подібний підхід вже застосовується у Windows, Linux та деяких сервісах Google на базі Chromium.
Головна перевага AutoFDO — можливість точного визначення так званих «гарячих» ділянок коду, які найчастіше використовуються. Оптимізація цих ділянок пришвидшує роботу системи та підвищує її ефективність. Профілі для оптимізації створюються у лабораторних умовах шляхом тестування найпопулярніших додатків, що дозволяє охопити реальні сценарії використання пристрою.
“Google стверджує, що його дослідження показують геометричне середнє підвищення продуктивності на 10,5%, причому AutoFDO досягає 85% виграшу від традиційної оптимізації, спрямованої на зворотний зв’язок, незважаючи на те, що покладається на вибіркові дані”.
Вплив AutoFDO на користувацький досвід
За даними Google, інтеграція AutoFDO у ядро Android уже призвела до зниження часу запуску «холодних» додатків на 4% і скорочення часу завантаження програм на 1%. Хоча ці показники можуть здатися незначними, вони суттєво впливають на плавність роботи інтерфейсу, швидкість перемикання між програмами та тривалість автономної роботи пристроїв. Як зазначає Google, ядро Android відповідає приблизно за 40% часу роботи процесора, тому навіть невеликі покращення мають відчутний результат для користувачів.

Наразі впровадження AutoFDO здійснюється у гілках android16-6.12 та android15-6.6, а профілі для оптимізації збираються на пристроях Pixel з ядрами 6.1, 6.6 та 6.12. У перспективі Google планує розширити підтримку цієї технології на нові версії Generic Kernel Image (GKI) і додаткові архітектури, окрім aarch64. На поточному етапі оптимізація застосовується до основного бінарного файлу ядра (vmlinux), проте компанія розглядає можливість поширення AutoFDO і на модулі GKI.
Важливим аспектом стратегії Google є підхід «консервативність за замовчуванням», що дозволяє підвищувати швидкодію системи без негативного впливу на її стабільність та надійність.