Поддержка размера страницы 16 КБ в Android повышает производительность до 10%

Большинство операционных систем используют размер страницы 4 КБ, поскольку это поддерживает большинство ЦПУ, но Android часто работает на процессорах Arm, способных обрабатывать 16-килобайтные страницы. Поэтому Google активировал размер страницы 16 КБ как опцию для разработчиков в выбранных Android устройствах, что обеспечивает прирост производительности на 5–10% ценой увеличения потребления памяти примерно на 9%.

В отличие от режимов 32/64 бит, размер страницы не относится к интерфейсу двоичных приложений (ABI). Поэтому приложение, адаптированное к произвольному размеру страниц, может работать на устройствах с 4 КБ и 16 КБ без изменений. Программы на Java или Kotlin не требуют доработок, но использующие нативный код (C/C++) или зависимости необходимо перекомпилировать для совместимости с 16-килобайтными страницами.

Android 16KB page size

Google приводит детали преимуществ 16-килобайтных страниц на сайте для разработчиков :

  • Сокращение времени запуска приложений при нехватке памяти: в среднем на 3,16% с заметным улучшением (до 30%) для отдельных приложений
  • Снижение энергопотребления при запуске приложения: в среднем на 4,56%
  • Более быстрый запуск камеры: горячий запуск в среднем на 4,48% быстрее, а холодный запуск в среднем на 6,60% быстрее
  • Улучшено время загрузки системы: в среднем на 1,5% (примерно 0,8 секунды)

Google заявляет, что указанные улучшения основаны на первоначальном тестировании, и неясно, какую аппаратную платформу использовали для тестов. Также объясняется: «Ядро Linux тесно связано с определенным размером страницы, поэтому при сборке ядра мы должны выбрать используемый размер страницы, тогда как остальная часть операционной системы остается неизменной». В качестве примечания: проверить размер страницы в Linux можно следующей командой:

$ getconf PAGESIZE
4096

Опция размера страницы 16KB изначально будет доступна только для Pixel 8 и Pixel 8 Pro с Android 15 QPR1 Beta, но компания также работает с партнерами, чтобы предоставить опцию для разработчиков на существующих устройствах. Альтернатива — использование цели эмулятора 16 КБ в Android Studio.

Помимо упомянутого выше сайта для разработчиков, подробности об этом изменении также можно найти в записи блога разработчиков Android .

Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Oldest
Newest Most Voted
Inline Feedbacks
View all comments