Skip to main content

Android Runtime To See Major Performance Boost Thanks To Redesigned Compiler

In a recent presentation, Ahok Bhat, a Senior Software Engineer at ARM, talked about a major upgrade to ART in a future version of Android, which could even be Android 6.0 considering that we won't see the final version until at least late fall.

With the arrival of Android 5.0 Lollipop, Google also introduced the Android Runtime, also called ART. The new Runtime "quickly" compiles "ahead-of-time" (AOT), while before Dalvik would compile "just-in-time."

The Dalvik JIT would make apps slower to load (compared to AOT compilation) because they would have to be compiled to machine code on-the-fly, as they are opened. Besides being slow, the JIT also gave reduced battery life as the processor would have to work extra to compile every time the app is opened from scratch.

ART changed this by compiling the code at installation, so no extra processing time and battery life were needed to be expanded to compile the app multiple times. What wasn't known at the time was that ART was just a "simple evolution of the Dalvik JIT," according to the ARM engineer.

Google must have looked for the easiest path to make AOT compilation possible without breaking too many apps when it came up with the "Quick" compiler of ART. However, as it is, the runtime can't be improved much more using complex optimization techniques. To apply those, the compiler would have to be written from scratch. The good news is this seems to be what Google has been doing in secret so far.

The "Optimizing" compiler is the next generation compiler for ART, and it will bring the following main benefits:

big leap forward in terms of compiler technologies much better infrastructure for future optimizationsgreat code quality

There are some downsides as well to the new compiler, as nothing really comes for free. Just like we saw apps take a little longer to install with ART's Quick compiler compared to Dalvik's JIT, the time period for app installations will also further increase with the new Optimizing compiler.

According to ARM, the file size and compilation time will increase by only 10 percent or less, which should be an unnoticeable difference for most users. What we get for that is a 15 percent increase in performance in the Linpack ST benchmark (floating point computation), and a 40 percent increase in the once-popular Quadrant CPU benchmark.

It's also important to keep in mind that the new optimizing compiler is still in development, and even after it becomes stable enough for a release, Google could still work on further increasing the performance.

ARM has been working with Google on the Optimizing compiler to provide feedback for the compiler design on the Aarch64 64-bit architecture (which Google seems to be targeting with the next generation of ART).

Follow us @tomshardware, on Facebook and on Google+.

  • PaulBags
    Yeah but xposed only run on dalvik so...
    Reply
  • dstarr3
    Yeah but xposed only run on dalvik so...

    Where there's a dev, there's a way. Give it time and they'll update.
    Reply
  • PaulBags
    Yeah but xposed only run on dalvik so...

    Where there's a dev, there's a way. Give it time and they'll update.
    Here's hoping, last I looked xposed dev didn't think it would be anytime soon though.
    Reply
  • MeteorsRaining
    Typo: It is "Ashok Bhat" not "Ahok Bhat".

    http://in.linkedin.com/in/ashoki
    Reply
  • twisted politiks
    Yeah but xposed only run on dalvik so...

    Where there's a dev, there's a way. Give it time and they'll update.

    Here's hoping, last I looked xposed dev didn't think it would be anytime soon though.

    It's your lucky day guys. Xposed for Lollipop has been out for a bit now :)

    http://forum.xda-developers.com/xposed/official-xposed-lollipop-t3030118
    Reply
  • cheeto0
    93% of android phones are on the latest google play services
    Reply
  • kenjitamura
    Android is the biggest piece of <Mod Edit> that permeated from the minds of man,,i got 3 devices,,none of have the same version of Android,,thats <Mod Edit>,,you know iOS come out with an upgrade and its available to all Apple device users,,even Windows has many versions but new versions are available to all,,,i am tiring of Android,,considering going to iOS,its seems like only a select few get access to new Android versions,i got 2 devices that look like they may never get Lollipop,i dont think this is right,,i am no different than anyone else,i would love to have the newest and best available to me,but with Android that seems to be a dream,it wont happen,,seems like 25 yrs from now i may still have 4,2 or 4,4 on a device,,so no more Android for me,my next device will be APPLE, good bye Android,,it wasnt fun,and i dont see myself ever going back,ever if they fix this current broken system of getting new versions,i have wasted enough money on Android devices that seem to be forgotten as fr as OS upgrades go,,money wasted

    You bought the wrong android devices. This is only a problem for Android devices that are made in places like China because they are WILLINGLY ignoring the copyright laws imposed for making Android devices. They don't release source code which is required by the Android/Linux licenses but you know China and their mindset on everything copyright is <Mod Edit>.

    Android devices that use chipsets from manufacturers like Nvidia, Qualcomm, Samsung, Intel, TI, and AMD all publicly release source code. With this source code independent developers or even lay-people can just do some simple port work to get it working with AOSP code or Cyanogenmod for newer android versions.
    Reply
  • Bob Becker
    my 3 devices are nexus,motorola and samsung
    Reply
  • lorfa
    ..but what are you supposed to do when your JIT goes ham in a dollar store? : p
    Reply
  • II12yanII
    my 3 devices are nexus,motorola and samsung
    how old are the devices you have my 2 year old lg has lollipop right now. thats about the oldest they go for getting new software
    Reply