64-Bit Support

ART was designed in mind with modularity of the various target architectures in which it is supposed to run on. As such, it provides a multitude of compiler-backends targeting today’s most common architectures such as ARM, x86 and MIPS. In addition, 64-bit support for ARM64, x86-64 and while still not implemented, also MIPS64.

While we have gone more in depth of the advantages and implications of switching over to 64-bit architectures in the iPhone 5s review, the main points to take away are the availability of an increased address space, generally increased performance, and vastly increased cryptographic capabilities and performance, all while maintaining full 32-bit compatibility with all existing apps.

An important difference that Google is applying over Apple, at least inside VM runtime applications, is that they are using reference compression to avoid the usual memory bloat that comes with the switch to 64-bit. The VM retains simple 32-bit references.

Google has made available some preview benchmarks showcasing the performance gains both on x86 and ARM platforms. The x86 benchmarks were executed on a Intel BayTrail system, and show a 2x to 4.5x speedup in various RenderScript benchmarks. On the ARM side, the crypto performance gains over 32-bit were showcased on an A57/A53 system. Both of these are relatively non-representative of one should really expect in real-world use-cases so they’re not that useful as a performance prediction.

However Google also made some interesting numbers available on one of their internal build-systems called Panorama. Here we can see a 13 to 19% increase in performance by simply switching over the ABI. It is also good to see how ARM’s Cortex A53 is able to make a bigger impact on performance when in AArch64 mode than the A57 cores.

Google claims that 85% of all current Play Store apps are immediately ready to switch over to 64 bit - which would mean that only 15% of applications have some kind of native code that needs targeted recompiling by the developer to make use of 64-bit architectures. This is a great win for Google and I expect the shift over to 64-bit to be very fast once silicon vendors start shipping 64-bit SoCs in the coming year.

Conclusion

In many points, Google has delivered its “Performance boosting thing” and addressed much of the shortcomings that have plagued Android for years.

ART patches up many of the Achilles’ heels that comes with running non-native applications and having an automatic memory management system. As a developer, I couldn’t have asked for more, and most performance issues that I needed to work around with clever programming no longer pose such a drastic problem anymore.

This also means that Android is finally able to compete with iOS in terms of application fluidity and performance, a big win for the consumer.

Google still promises to evolve ART in the future and its current state is definitely not what it was 6 months ago, and definitely not what it will be once the L release is made available in its final form in devices. The future looks bright and I can’t wait to see what Google will do with its new runtime.

Garbage Collection: Theory and Practice
POST A COMMENT

137 Comments

View All Comments

  • darwinosx - Thursday, July 3, 2014 - link

    I laughed when they said butter would do this and I'm laughing at this too. Reply
  • tacitust - Thursday, July 3, 2014 - link

    Having fun trolling the Android threads? Reply
  • Alexey291 - Monday, July 7, 2014 - link

    you sound too desperate to be actually laughing. Reply
  • Flunk - Wednesday, July 2, 2014 - link

    The way permissions work on Android is enforcement is based on if the app ever uses a specific permission, and it's announced on install. You can't have after the fact permission management, the app either has all it's permissions or it doesn't run. I believe it was done like that for performance reasons. It's also a hell of a lot easier for developers because you don't need to constantly check permissions before doing things.

    If you don't like an apps permissions, don't run it. A system like you describe would be as horrible as the system that classic Blackberry used and that sometimes required explaining to users to go in and manually give apps X, X, X and X permissions.
    Reply
  • edwpang - Wednesday, July 2, 2014 - link

    Once rooted, you will have more choice to control app permissions. I am currently using XPrivacy(Xposed Framework)which has fine grained conttrol over what app can access. It almost becomes annoying with so many prompts for permission when an app runs. Reply
  • name99 - Wednesday, July 2, 2014 - link

    Oh for crying out loud, give it a fscking rest. You're like the people who will excuse ANYTHING Apple does.
    The current Android permissions handling is a complete abortion, and it's obviously going to be changed to something more iOS-like in the future. And what are you going to do then, Mr "We have always been at war with EastAsia"? Complain that Google is making things worse with the new permissions system they introduce in Android P?
    Reply
  • sprockkets - Wednesday, July 2, 2014 - link

    Android L will have privacy controls built in. Announced in the keynote, not in the dev preview yet... Reply
  • darwinosx - Thursday, July 3, 2014 - link

    Oh you better do some more reading. Google made privacy far worse. Reply
  • Alexey291 - Sunday, July 6, 2014 - link

    its cool bro in ios there are no visible permissions. Your data is already being sold to the highest bidder :) Reply
  • sprockkets - Tuesday, July 8, 2014 - link

    You need to just sod off apple troll Reply

Log in

Don't have an account? Sign up now