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
Comments Locked

136 Comments

View All Comments

  • darkich - Wednesday, July 2, 2014 - link

    The "iOS browser smoothness" you are talking about is actually nowhere near the smoothness I experience with Dolphin on Jetpack on my Note 3.
    End of story
  • Flunk - Wednesday, July 2, 2014 - link

    Dolphin is a good browser but scrolling is still a lot choppier than Chrome on either my Nexus 10 or Nexus 5. Smoothness is not exactly its best feature.
  • darkich - Wednesday, July 2, 2014 - link

    Lol, that is a flat out lie!
    Have you used Dolphin Jetpack?
  • henrybravo - Wednesday, July 2, 2014 - link

    @darkich As difficult as it may be for you to believe, Dolphin 11.x with Jetpack enabled is not a consistently smooth experience across all devices. My HTC One M8 is such an example. A "heavy" website such as the newly redesigned androidcentral.com is buttery smooth on Chrome and the built-in HTC Internet app, but on Dolphin it loads slower and is a bit jittery when scrolling through the page. I realize that optimizing an app such as a web browser to be smooth across a large number of devices is difficult, but when you call people flat out liars because their experience differs from yours (on a different device nonetheless) just shows you don't know what you're talking about.
  • darkich - Wednesday, July 2, 2014 - link

    I know precisely what I am talking about.
    He was referring to scrolling performance specifically, and in general, scrolling on Dolphin Jetpack is by far the fastest and most fluid out of any browser.
    Yes, I can also conform that Dolphin has issues on some pages, but that doesn't change the overall picture when we talk performance and fluidity.
    Show me a browser that handles every page flawlessly and then I will give you a point
  • darkich - Wednesday, July 2, 2014 - link

    As for Androidcentral, well I just tested it on Chrome and Dolphin.
    A single swipe on Dolphin scrolls through the entire(in a typical Dolphin Jetpack fashion) front page in the desktop mode.
    Chrome? Gets only about halfway through!
    And Safari is even far worse.
    There is just no comparison
  • phoenix_rizzen - Wednesday, July 2, 2014 - link

    "Number of swipes to reach end of page" is not the same metric as "scrolling is buttery smooth at all times". In fact, they aren't even remotely related. The two of you are talking about completely different things, almost orthogonal to each other.
  • darkich - Thursday, July 3, 2014 - link

    That was completely nonsensical.
    By the most basic and obvious logic, the speed of scrolling is the very first metric of its smoothness.
    If you have two wheels and spin them with the same amount of force, and one spins for twice longer than the other-which one would you regard as the "smoother" one?
  • sonicmerlin - Wednesday, July 2, 2014 - link

    In the past I would have singled you out as being stupid, but I've seen a number of android users make the exact same utterly bizarre connection between scrolling speed and smoothness. Has it ever occurred to you that high velocity is used to hide jank and stuttering?
  • darkich - Thursday, July 3, 2014 - link

    Read the above comment.

    Are you saying the high scrolling velocity is unnecessary and has no practical benefit!?!?!

    If that's indeed what you think, then you definitely won the stupid mark.

Log in

Don't have an account? Sign up now