Android 4.4 KitKat is here, and with it folks are starting to get the very first taste of ART, the Android runtime destined to eventually replace the aging Dalvik.
As mentioned in a previous post, ART is designed to use ahead-of-time compilation, which means your apps are compiled in a ready-to-run state from the very first time you install them. The end result is that ART is said to launch apps much faster and without some of the lag issues found in Dalvik.
ART is still a work in progress, and is likely to get even better as Google continues work on optimizing the new runtime.
How much faster? While results may vary depending on the app, many initial reports claim ART launches apps as much as 50% quicker. Of course there are some skeptics out there that suggest this could just be a placebo affect — that ART users expect the experience to be faster, so therefore they believe it is.
Hoping to better demonstrate the difference between ART and Dalvik, Reddit user lodc created a short video that shows two Nexus 7 (2013) tablets both running Android 4.4 KitKat ROM. The only difference between the tablets is that one is set to run Dalvik with the other running ART.
The video then shows Photoshop Touch being launched at the same time on both devices, several times in a row. Each time ART came out the champion, even if it’s only by a second or two. Obviously one video doesn’t give us the entire picture, but it does certainly led credence to the idea is that ART really is faster, even if there isn’t a colossal difference.
The key here is that ART is still a work in progress, and is likely to get even better as Google continues work on optimizing the new runtime. Google has made it clear that ART isn’t quite ready for primetime, so it would be unfair to truly judge ART just by the performance we are seeing with KitKat. Still, even in it’s current form, ART shows a lot of promise.
Honestly it comes down to what kind of Android user you are. If you are the type that already runs unstable ROMs and BETAs, ART might be for you.
The important thing to remember is that ART is still an experimental runtime and there is a growing list of apps that are confirmed to currently not work with the runtime. Just to name a few, we have Call of Duty: Strike Force, Pandora, WhatsApp, Titanium Backup and Kingdom Rush.
So how about it, have you managed to test out ART yet? If so, what do you think?
Like this post? Share it!
64bit will make more of a difference
64-bit doesn’t mean a thing if there is no software to support it.
Technically true, but in the case of Android its not really relevant. Since Android uses Java, all that has to be changed to take advantage of 64bit processors is the JVM itself. None of the apps have to be changed to gain any benefits 64 bit provides.
Oh, the ignorance. It hurts.
Apple’s move to 64-bit poses a massive threat for Android.
People should stop discounting the benefits of 64-bit computing since it’s a completely different story than they witnessed on 64-Windows, because unlike x86, AARCH32 has been heavily limited in performance by the limited number of its architectural registers without any chance of making good use of the physical registers due to its RISC nature.
AARCH64 on the other hand features more than plenty architectural registers granting maximal ILP while minimizing time and power consming memory accesses.
Currently, iOS4.3 is the minimum version required for the AppStore deployment.
When Apple raises this number to 6, it will mean that the upcoming iPhone will feature a 64-bit-only SoC which will lay havoc on Android OEMs with its design/cost efficiency.
This might happen as early as next year, or this WILL happen in 2015 at the latest.
Google has no means driving third party app developers to create products targeting higher, 64-bit-feasible versions of Android, and the poor OEMs will have no other choice than SoCs including 32-bit silicons therefore.
How are the OEMs supposed to survive this kind of pressure?
My points :
1. Android needs 64-bit power, very badly.
2. Google absolutely has to force third parties to target higher versions of Android, no matter the cost.
PS : Stop talking about Java being easily made 64-bit-ready. It would be a joke writing performance hungry apps in Java in first place.
VM is an area where 64-bit computing is needed the least.
64bit means a larger address space for the O/S and programs. It has little to do with performance… in fact 32bit code should run faster than 64bit code as instructions are 1/2 the size!
How is increasing bit size make a program faster… it generally does not. It may be better if your doing large numeric calculations and require large 64bit numbers, and so the cpu will execute these calculations easier…. but that is so far from normal operation.
Adding extract CPU registers, more cache, faster memory bus, more parallel execution of instructions all make performance gains. Add 32 more bits to programs doesn’t magically make then run faster … in fact the opposite.
Java is compiled to a byte code, just like a C/C++ program compiles to machine code. The byte code is then interpreted/compile/executed on the host machine. The byte code running in the JVM cares nothing about 32bit / 64bit, the byte code is independent of the runtime hardware… this means transiting between 32, 64, 128bit env means nothing to java. Only the JVM needs changing, not the compiled Java programs.
What this means is Apple is more in the poo about this than Google, and App dev on IOS have recompile apps to be 64bit, and Android apps may not need recompilation at all.
This demo is mostly useless if the user isn’t clicking things at the same time on both.
This comment is mostly useless if the commenter would understand why the user was clicking things at the same time on both.
I said “isnt”
This is just pure ART ;D
Yeah. That pun deserves a punalty. What kind of punishment should we give him? A punch in the mouth? A year in the Punitentiary?
pandora works for me with nexus 5 + art
How did you get it to work? I keep getting errors
The biggest difference is in how fast ART responds to scrolling and switching between apps. It is very responsive.
By switching the device from Dalvik to ART you are essentially rebuilding the cache, this is probably responsible for most of the increase in performance. It would be interesting to compare immediately after wiping Dalvik and application cache on the control device.
You fail to understand the basis of how ART works. It is precompiled (AOT)… so like ngen’ing a .net executable to native code. It of course will be faster, at the expense of added space and the overhead of longer initial installs.
Now they are putting resources in generating machine code from dex code converted from Java byte code generated by the SDK.
What a waste.
Google should have avoided Java in first place, but sadly, it’s too late.
Pretty much everything Google has done so far with Android makes the transition to 64-bit computing extremely hard while Apple will get rid of the legacy 32-bit as early as next year(SoC) and call it history with the 64-bit-only iOS within four years.
Unable to remove 32-bit silicons from the SoC for over ten years from now on, Android OEMs will have hard time competing against Apple.
Google has to take some extreme measurements accelerating the transition to 64-bit, but instead, they are experimenting with non-essential things like ART.
Apparently Google doesn’t care about the OEMs at all.
By the time Samsung stands there as the sole survivor, Google will get to see its true face.
in case you came from ios, Android need vm because it runs on various different hardware.
if Android ditch VM, app dev will need to ship different binaries for each different processor etc. just like JNI.
“Pretty much everything Google has done so far with Android makes the transition to 64-bit computing extremely hard”
Can you elaborate?
I will try it as soon as a factory image of 4.4 for a nexus 4 is launched.
Man… I REALLY wish you’d cleaned your screens before doing the video… really having an OCD moment wanting to wipe it clean!!!!
Must. Resist. urge. aauugghh!!1 wipe wipe wipe screen (my screen, futil as it does not clean the ones in the video :P )
yea that screen was REALLY dirty. in fact, using an s4, you can use gloves with it to keep it from getting dirty. :D
Lol… wipe wipe wipe
I have an unoffical CM11 on my S3, I switched from Dalvik to ART which made an improvement in Antutu. However it wasn’t that noticable and some of the apps that I use weren’t working. I have since reverted back to Dalvik until more apps become compatible.
I’m using Pandora on ART on my Flo fine
LMT Luncher isnt working in ART mode.
So, ONE app STARTS (only) faster. This proves nothing
Every app loads faster.
In my opinion the beta thing is caused by compilation time, not the ART performance. As compilation takes significant time in Nexus 4, it will be longer in lower spec hardware.
In next release, ART probably will have faster compiler or Google may provide cloud assisted compiler for low end device.
Noticeably faster… in testing, yes.
In the real-world would it make enough of a difference for me to care? No…
Is further development worth it? Probably not.
The difference was so minimal.
The Difference is minimal because its under development.Lets hope it gets better as time passes ^_^
great improvements on n4, can’t find it on n7 2012 :(
to correct the author of this page on one item, Titanium Backup has just released an update to be able to run with ART. i received that update yesterday. :) people are already on board with ART and are making their apps compatible with both runtimes. TB Pro is supporting both currently.
The big diffrence is battery life….its really worthy improved…. I would like to stay with ART…Bcoz in nexus 5 battery issue was so irritated for me..