Goodbye Dalvik? Android code commit makes ART runtime the default

For as long as Android has been around the operating system has relied on the Dalvik virtual machine as the platform apps run on. Now it looks like Google is getting to replace Dalvik with a new runtime called ART.

While Dalvik uses “just-in-time” processing to compile code on the fly, ART using an “ahead-of-time” process to compile apps before you first run them, which could lead some apps to run much more quickly.

Google included ART in Android 4.4 KitKat, but it’s disabled by default. But it looks like the next version of Android could use ART as the default runtime with Dalvik taking a backseat.

ART runtime

A code commit shows that Google has flipped the switch, making ART the default runtime.

It could still be a while before the change hits your phone or tablet. It’s not clear when Google will release the next version of Android… or how long it will take your device maker or wireless carrier to offer an over-the-air update.

Meanwhile folks with devices running Android 4.4 can continue to enable ART manually through the Developer Options menu. There are still some apps that aren’t optimized for the new runtime, but the list is shrinking as a growing number of developers prepare for the upcoming change.

via /r/Android

  • Nighty

    If you enable ART so you need to reinstall apps for them to run better?

    • obarthelemy

      No, you don’t need to reinstall anything. ART goes on a compiling binge when it’s first activated, and compiles all apps already on your phone automatically in one go, which takes a few minutes.

      • Taimur Khan

        Can I go back to delvik if some of my apps dont run on ART?

      • obarthelemy

        Yes, just switch back to Dalvik. Apps will run from source again, which is still there.

      • Taimur Khan

        thanks

      • KillerKink Goh

        its not going to take minutes if you have lots of apps. In fact, it can be long though just one off.

    • min009

      Nope, after a reboot, the OS will recompile all your apps.

  • Cal Rankin

    I don’t think that’s a huge problem. If ART makes it faster, I don’t see anything wrong with it.

  • Josh

    Whatever makes it faster with little to no drawbacks then good.

    I remember the days back in college when they were pushing Java and the benefits of JIT. Supposedly, you’ll both get the benefits of code optimization before and during run time. Too bad that often gets outweighed by the optimization process itself and never really provided much benefit (or ended up being slower) to pre-compiled binaries with the appriate compiler optimization flags. Using JIT compiling on devices where users expect fast response times was never really a good idea.

    • Nathan Hubbard

      I think it’s pretty amazing that android ever worked as well as it did, considering it was using JIT for so many apps.

      • Arrdee

        Seems like an odd statement, since Android JITs pretty much everything.

        JIT provides improved performance over bytecode interpretation by translating short runs of bytecode to native code on the fly as needed and running them.

        Microsoft’s .Net is still limited to JITting (unless one manually runs NGen to crudely compile to native code in one go). The ART AOT-compiles improve on that by doing an optimizing compile as opposed to NGen’s flat JIT-style instruction translation.

      • James

        The statement doesn’t seem odd to me. I’m surprised Android was first released using only interpretation. That’s extremely slow. Then they finally added JIT which still isn’t ideal on slow (compared to desktops) embedded systems especially when the optimizations it’s allowed to do are limited compared to the JIT methods done on desktops/servers.

        Yeah, once, the hot code is compiled, it runs faster but for a device like a smartphone where people expect quick response times (at least now they expect this), the time it takes to identify hot code and compile it can be noticeable (slow startup and short stutters). So, yeah, I’m surprised Android provides a okay experience.

      • Guest

        A majority of major .NET apps NGen their code during the installation process, so that is not much of an issue with .NET apps.

  • EricRead

    From “just-in-time” processing to “ahead-of-time” processing? Sounds like an improvement to me!

    Seriously though, is there any disadvantages?

    • Charbax

      You’ll need more storage.

      • werewolfc

        finally will see more low ends smartphone with 8Gb rom.

      • Grahaman27

        And… App installs will take significantly longer. Though, apps will use less RAM.