Android support for 16KB page size boosts performance by up to 10 percent

Most operating systems are set to use a 4KB page size since that’s what most CPUs support, but Android is often running on Arm CPUs that can support 16KB page size. So Google decided to enable 16 KB page size as a developer option in selected Android devices since it can deliver a 5 to 10% boost in performance, at the cost of using around 9% extra memory.

Contrary to 32-bit/64-bit mode, a page size is not an Application Binary Interface (ABI), so once an application is fixed to be page size agnostic, it can run on both 4 KB and 16 KB devices without modifications. Apps written with Java or Kotlin don’t need modifications, but those that use native code (C/C++) or dependencies must be recompiled for compatibility with 16 KB page size devices.

Android 16KB page size

Google provides some details about the benefits of 16 KB page sizes on the developer website:

  • Lower app launch times while the system is under memory pressure: 3.16% lower on average, with more significant improvements (up to 30%) for some apps
  • Reduced power draw during app launch: 4.56% reduction on average
  • Faster camera launch: 4.48% faster hot starts on average, and 6.60% faster cold starts on average
  • Improved system boot time: improved by 1.5% (approximately 0.8 seconds) on average

Google says the improvements above are based on initial testing, and it’s unclear which hardware platform they used for testing. They also explain the “Linux kernel is deeply tied to a specific page size, so we must choose which page size to use when building the kernel, while the rest of the operating system remains the same”. As a side note, you can check the page size in Linux with the following command:


The 16KB page size option will be limited to the Pixel 8 and Pixel 8 Pro with Android 15 QPR1 Beta at first, but the company is also working with partners to make a developer option available on existing devices. An alternative is to make use of the 16 KB emulator target available in Android Studio.

Besides the aforelinked developer website, developers will also find more details about the change in a post on the Android Developer blog.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
6 Comments
oldest
newest
Whiterat
Whiterat
17 days ago

I remember the western digital mycloud ran 64k page size on the comcerto 2000 SoC.

m][sko
17 days ago

Are there any desktop distro with large page size?

Cyk
Cyk
16 days ago

10% more performance is something that Intel tells you is worth double the price.
Until someone discovers a vulnerability that requires a microcode change that easily eats up that performance gain.

sander
sander
16 days ago

🙂

Well said.

nobita
nobita
16 days ago

So, since ARM CPU’s are very weak nowadays, we would need that extra 10% sacrificing 9% of the limited storage we have? *SARCASM HERE*

Thanks, but no. Just push phone makers to have a microSD slot, since we can have eSIM cards together with one physical SIM.

Tim
Tim
15 days ago

Memory isn’t storage.

Khadas VIM4 SBC