back to article Android to drop Dalvik VM for high-performance ART in next version

The next version of Google's Android smartphone OS may ship with a new code execution engine that improves performance and battery life, if a new report is to be believed. The current engine, Dalvik, is getting long in the tooth, and developers have long grumbled that it doesn't run their code as efficiently as it could. …

COMMENTS

This topic is closed for new posts.
  1. Anonymous Coward
    Anonymous Coward

    I'd love to run KitKat on my Galaxy S3 but Samsung apparently can't get it and the bloated pile of crap they bolted on the front to run in the 1GB the device has .. and before I get swamped with people saying "flash it".. I know I can do it but the point is that MOST people wont because they're not technically capable of it.

    If a major player like Samsung basically writes off the S3 and the S3 mini in Europe with lots of people still locked into long contracts then what hope do Google have of getting KitKat penetration up to a reasonable level?

    1. Charlie Clark Silver badge

      Google knows that most people get new phones every two years. From the API perspective there aren't huge differences between 4.0 and 4.4. Where things do matter Google is using the Play Store components to move the laggards along.

      1. M Gale

        Where things do matter Google is using the Play Store components to move the laggards along.

        Apparently "Google Play Store" used 31.52GB in the last month. I don't let apps auto-update. I know I have unlimited traffic, Google, but stop taking the fucking piss.

        1. Marcelo Rodrigues

          "Apparently "Google Play Store" used 31.52GB in the last month. I don't let apps auto-update. I know I have unlimited traffic, Google, but stop taking the fucking piss."

          Mine auto-updates - but only if connected trough wifi. :D

    2. Anonymous Coward
      Anonymous Coward

      Mmmmmm… KitKat penetration

      1. Anonymous Coward
        Anonymous Coward

        Kitkat penetration?

        Not as good as Mars Bars my good friend Mick tells me.

    3. Grant 5

      I know you said don't suggest it because most people can't do it BUT I tried the CyanogenMod installer on my S3 last week and it was literally point and click. 10 mins and done, its now soooo much faster and I've removed all the bloat.

    4. plrndl

      "I'd love to run KitKat on my Galaxy S3"

      Why not try Cyanogenmod 11? I'm running an unofficial build of it on my rather more modest Huawei Y300 and after 2 weeks it's proved to be stable and reliable.

      1. Anonymous Coward
        Anonymous Coward

        The Barclays bank app refuses to run under CyanogenMod as it is considered a rooted device.

    5. Anonymous Coward
      Anonymous Coward

      Does this mean that Android will ditch the higher memory requirements and poorer performance on similar hardware compared to Windows Phone?

  2. Anonymous Coward
    Anonymous Coward

    Strange...

    I distinctly remember there being many, many claims (e.g. this) that Dalvik was the best thing ever, as good as native even.

    Surely they weren't making that up?

    1. Phil W

      Re: Strange...

      The Best Thing Ever is only a valid title while there remains nothing better. At one time a 486 DX4 100 was The Best Thing Ever in home computing.

      1. Anonymous Coward
        Anonymous Coward

        Re: Strange...

        Never did work out what that extra 1 meant, the 100MHz should have implied a DX3 suffix.

        1. M Gale

          Re: Strange...

          Though I always thought the DX4/100 was more of a cheap alternative to the Pentium, and could fit in standard 486 boards with a voltage converter, so never really "best thing ever".

          ...and apparently the "DX4" instead of "DX3" was as the result of litigation with AMD. At least, so sez the Tome O' Jimbo that anyone can edit.

        2. Marcelo Rodrigues

          Re: Strange...

          "Never did work out what that extra 1 meant, the 100MHz should have implied a DX3 suffix."

          IIRC, it was as follows:

          "DX" -> With math coprocessor. The "SX" series didn't have one.

          "4" -> Indicates a 4x multiplier. More on that later.

          "100" -> The internal clock of the CPU.

          So:

          SX 33 -> Did not have coprocessor, had an internal clock of 33 MHz and a bus speed of 33 MHz.

          DX 33 -> Had coprocessor, an internal clock of 33 MHz and a bus speed of 33 MHz.

          DX 50 -> Had coprocessor, an internal clock of 50 MHz and a bus speed of 50 MHz.

          DX2 50 -> Had coprocessor, an internal clock of 50 MHz and a bus speed of 25 MHz.

          DX2 80 -> Had coprocessor, an internal clock of 80 MHz and a bus speed of 40 MHz.

          And, the weird one: The DX4 100.

          It had a coprocessor and an internal clock speed of 100 MHz. But (IIRC) you could set the multiplier at 2x, 3x or 4x. So, it could work as a DX2 100, DX3 100 or DX4 100.

          I believe, although not sure, that the DX4 120 went the same way.

    2. grammarpolice

      Re: Strange...

      The next best thing ever is a solution that works on many platforms not just one.

      So for the foreseeable future that is HTML5+JavaScript.

      1. Ian Yates

        Re: Strange...

        Definitely the next best thing ever for portability, but no one's yet released an HTML5 "interpreter" with near the performance of compiled (or semi-compiled) code.

        As always, it's more about your needs and resources than one-size-fits-all.

  3. bazza Silver badge

    Polishing a turd?

    No doubt that there's room for improvement in the science of running bytecode. However the Wikipedia article on Dalvik reports that ART currently isn't necessarily any faster, and programs take up more storage room.

    Ahead-Of-Time compilation is surely an obvious thing to do; isn't that what any 'proper' compiled language like C/C++ does?

    Being so obvious one wonders why no one has done it before. Is it because most End User License Agreements generally forbid permanent translation of the software into another form? That means you cannot take a collection of object called 'the software' and convert it into another CPU's op codes. So whilst that still allows you to do interpretation or just in time compilation (there's no permanent storage), such a clause won't let you do ahead of time compilation.

    Of course Google is in ultimate control of all things Android and therefore has the ability to make the developers go along with Ahead of Time compilation.

    1. P_0

      Re: Polishing a turd?

      AOT code is not necessarily always faster.

    2. Anonymous Coward
      Anonymous Coward

      Re: Polishing a turd?

      it would be nice if they could reduce battery consumption, though I suppose it's too much to ask for a phone able to last a week between charges.

  4. Richard Lloyd

    Some apps run into trouble with ART

    For those who didn't know, you become a "developer" in KitKat by going to Settings -> About phone/tablet -> Build number and tapping the build number 7 times. Now going into the new Developer Options item in Settgings and tape on Select Runtime, choose ART and then reboot your device.

    I found some apps misbehaving when running in ART mode, so I went back to Dalvik - whether the devs or Google are actively fixing such apps, I have no idea but there could be some grief if ART becomes the default if they aren't. I also didn't really notice a huge performance gain in ART mode - it's also a *lot* slower to "optimise" your apps after a ROM update.

    1. Anonymous Coward
      Anonymous Coward

      Re: Some apps run into trouble with ART

      Initially WhatsApp and a couple of others didn't work, but 3 point releases (4.4.4 is the latest) and changes by app developers you would now be hard pushed to find any app that does t work.

  5. Anonymous Coward
    Anonymous Coward

    This is why I gave up on Samsung after the S2. I don't care for fancy eye tracking scrolling, split screen apps or Samsung hubs if it means I have to forego OS updates.

    1. James Hughes 1

      Why do you need OS updates? Doesn't the phone work well enough with the current version? What features in newer version are so essential to you?

      1. MrWibble

        Security updates are quite a useful thing to have, at a guess!

        1. Anonymous Coward
          Anonymous Coward

          As has just been shown by the release of 4.4.4 where Samsung S3 and S3 mini users have been abandoned and left with an O/S with a serious security hole which Samsung will NOT fix.

      2. phuzz Silver badge
        Happy

        I couldn't put my finger on exactly what it is, but there's something about flashing a new version of Cyanogenmod every month or so that I enjoy. It might be the combination of fear and anticipation as I wait to find out if something I need has been completely broken, or something new and useful has been added.

        I'm guessing I'm not the only person here that upgrades for upgrading's sake. What can I say? It keeps me happy.

  6. himoverthere

    Kitkat 4.4.4

    KitKat is at level 4.4.4 .It was updated yesterday

    1. John G Imrie

      Re: Kitkat 4.4.4

      Kitkat 4.4.4: two thirds of the beast.

      1. Piro Silver badge

        You think beast, I think full chroma sampling

  7. This post has been deleted by its author

  8. jesterscup

    yes some apps will have issues with ART, But thats a developer issue, and one they should've been aware of.

    This isn't news, ART has been available as an option for quite a while, it was ALWAYS going to replace Dalvik at one point

    @anoncoward : far too many people get sucked into the hype by samsungs ad's. Simply put the galaxy phones are bloated and badly made for the price, this isn't a case of buyer beware, its a case of customers not bothering to compare & contrast different products before making a decision. You should've known what you were getting when you got the s3, believing you'd be able to install kitkat was foolish at best.

    1. Charlie Clark Silver badge

      Bit of a broad brush there. Some of the Samsung software is fine - I like the quick access to the alarm clock, the camera app and the music player; the hardware is fine - replaceable battery, SD support, OLED screen. It would be nice to be able to permanently delete some of the crap that gets installed.

      As others have noted, having the latest version of the OS doesn't make a whole heap of difference. Does the phone still do what you wanted it to do when you bought it is the most important question.

  9. Aaronage
    Thumb Up

    I use ART...

    ... on my HTC One M8

    I've had the phone with ART enabled for 3 months now and haven't had a single app crash.

    Performance is great, but I don't know whether ART is making a difference on hardware this fast.

    There is a noticeable improvement in app launch times with ART, though.

  10. Paul Hayes 1

    I switched to ART some time ago on my nexus 4. It runs well for me, there were initially a couple of issues with the odd app like Whatsapp, these soon got fixed by the app developers.

    I can't say I've noticed any appreciable difference in performance or battery life but I remain convinced that is has more to do with this:

    http://en.wikipedia.org/wiki/Oracle_v._Google

    than anything else.

    1. Nathan 6

      Maybe Not

      Since appeal court said that API are copyrightable, the ART would still be problematic since it uses the same Java APIs that got Google into trouble in the first place.

      Also, JIT tech is pretty good these days, so I don't expect a big performance improvement. AOT is really only useful for reducing start-up times and initial memory consumption. That's why we haven't seen it used much in desktop/server side Java stuff. Improvements in hardware, combined with cheap memory makes it useless in most situations.

  11. Champ

    I said switched my Nexus 5 to ART a couple of weeks after I got it, and noticed an immediate improvement in battery life.

  12. Anonymous Coward
    Anonymous Coward

    ART is faster, but I look forward to the next even faster version, code named Fast ART or FART for short.

  13. ray.seyfarth

    Why nor distribute compiled code

    I never saw the great value in distributing byte code. There are currently very few architectures for Android. Disk space is cheap and the Play Store could store 3 or 4 versions of each app and download the appropriate one automatically. There would be no need to waste time on the users' phones and tablets and the space used there would be perhaps a little larger, but not out of the question. It would certainly require less space than storing a byte code app and its AOT version. Just bundle the AOT code into the Java compiler for the developers and it would be simple and effective.

    Of course, with my 20% hindsight, it is obvious that they should have chosen Qt and C++. I would have done so from the start. I understand that they were trying to make it easier for people familiar with Java, but I wonder how many people learned Java just to do the apps anyway.

  14. Anonymous Coward
    Anonymous Coward

    For some reason when I see Dalvik I'm thinking Dalek...

  15. John Savard

    Hopefully

    they'll have a compatible way of labelling Android apps to the effect that "I work with version 1.x of ART or above; otherwise, run me with Dalvik".

    Then the change would be invisible; stuff would just run faster in some cases.

This topic is closed for new posts.

Other stories you might like