Google делает Android-смартфоны быстрее и улучшает время автономной работы благодаря этому изменению

Google работает над изменениями «за кулисами», которые должны сделать Android-смартфоны быстрее, а также улучшить время автономной работы.

На этой неделе команда Android LLVM toolchain объявила, что Google обновляет ядро Android с помощью «AutoFDO» – Automatic Feedback-Directed Optimization (Автоматическая оптимизация на основе обратной связи).

Что это?

Коротко говоря, ваш телефон должен принимать «тысячи мелких решений» за кулисами, которые в итоге потребляют значительную часть процессорного времени. AutoFDO меняет это, направляя компилятор по «наиболее частым» путям выполнения, тем самым снижая нагрузку. Это, в свою очередь, освобождает больше ресурсов для других задач, а также улучшает время автономной работы за счет меньшего энергопотребления.

Google объясняет:

Во время стандартной сборки программного обеспечения компилятор принимает тысячи мелких решений, таких как, следует ли встраивать функцию и какая ветвь условного оператора, скорее всего, будет выбрана, на основе статических подсказок кода. Хотя эти эвристики полезны, они не всегда точно предсказывают выполнение кода во время реального использования телефона.

AutoFDO меняет это, используя реальные шаблоны выполнения для управления компилятором. Эти шаблоны представляют собой наиболее распространенные пути выполнения инструкций, которые код проходит во время фактического использования, записанные путем отслеживания истории ветвления процессора. Хотя эти данные могут быть собраны с парка устройств, для ядра мы синтезируем их в лабораторной среде, используя репрезентативные рабочие нагрузки, такие как запуск 100 самых популярных приложений. Мы используем сэмплерный профилировщик для сбора этих данных, определяя, какие части кода являются «горячими» (часто используемыми), а какие — «холодными». При пересборке ядра с этими профилями компилятор может принимать гораздо более разумные решения по оптимизации, адаптированные к фактическим рабочим нагрузкам Android.

По предварительным тестам, Google сообщает, что это привело к реальным улучшениям, включая ускорение загрузки на 2,1%, ускорение «холодного» запуска приложений (когда приложение было полностью закрыто) на 4,3% и более значительные улучшения по другим метрикам, которые не так заметны конечному пользователю. Шаблоны были построены с использованием 100 самых популярных приложений на смартфонах, чтобы имитировать реальное использование, после чего шаблоны были разработаны для оптимизации «горячих» – часто используемых – частей кода.

Google заявляет, что AutoFDO в ядре Android будет работать по стратегии «по умолчанию консервативная», полагаясь на старые методы, если определенный процесс выходит за рамки заданных шаблонов.

Эти изменения появятся в последних версиях ядра Android – android16-6.12 и android15-6.6 – а также в предстоящем релизе android17-6.18. Конечный результат, по словам Google, приведет к «более отзывчивому интерфейсу, более быстрому переключению между приложениями, увеличению времени автономной работы и, в целом, более отзывчивому устройству для конечного пользователя».

Подробнее об Android: