Google повышает производительность Android на 10% С помощью AutoFDO

Команда Google, разрабатывающая инструментарий Android LLVM, объявила о внедрении в ядро Android технологии автоматической оптимизации на основе обратной связи (AutoFDO), которая может значительно повысить производительность системы.

AutoFDO, впервые представленная в Android 12 (еще в 2021 году), представляет собой метод оптимизации на основе выборки, который использует реальные данные выполнения, полученные с аппаратных мониторов, для принятия решений компилятором, тем самым заменяя статический анализ профилями, отражающими фактическое использование в реальном мире. Эта функция аналогична PGO или Profile Guided Optimization, которая уже используется в Windows и Linux, а также в собственных приложениях Google на основе Chromium.

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

Google утверждает, что его исследования показывают геометрическое среднее повышение производительности на 10,5%, при этом AutoFDO достигает 85% от традиционной оптимизации, ориентированной на обратную связь, несмотря на то, что полагается на выборочные данные.

На Android, где ядро, как говорят, занимает примерно 40 процентов времени процессора, Google сообщает о заметном улучшении: время запуска холодных приложений сократилось на 4 процента, а время загрузки сократилось на 1 процент. Хотя эти цифры не указывают на значительное ускорение, Google утверждает, что эти оптимизации отлично влияют на общую производительность телефона, поскольку обеспечивают более быстрое переключение между приложениями, более плавный и быстрый интерфейс и более длительное время автономной работы для пользователей.

В настоящее время внедрение направлено на ветви ядра android16–6. 12 и android15–6. 6, а профили собраны на устройствах Pixel с ядрами 6. 1, 6. 6 и 6. 12. Google планирует расширить поддержку на более новые версии Generic Kernel Image (GKI) и дополнительные цели сборки, выходящие за рамки текущей архитектуры aarch64. В настоящее время оптимизация сосредоточена на основном двоичном файле ядра (vmlinux), но компания также рассматривает возможность расширения AutoFDO на модуле GKI.

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

- Реклама -