- Oct 4, 2012
- 245
- 7
- 81
ART runs much closer to native than Dalvik in my understanding. Some light reading:
http://source.android.com/devices/tech/dalvik/art.html
https://docs.google.com/spreadsheet/ccc?key=0AnE-DX9Fbr9KdFZtRlhQaWxmVG5XdDR3TFR1Q3JONnc&usp=sharing#gid=0
(benchmarks here)
http://www.xda-developers.com/android/new-runtime-compiler-in-android-4-4/#comment-1104912482
This makes me wonder two things. First, how bad was Dalvik that 2x performance is easily attainable in a still early unoptimized release? And second, for balls sake, how blisteringly fast will todays already crazy fast devices be on it?
http://source.android.com/devices/tech/dalvik/art.html
https://docs.google.com/spreadsheet/ccc?key=0AnE-DX9Fbr9KdFZtRlhQaWxmVG5XdDR3TFR1Q3JONnc&usp=sharing#gid=0
(benchmarks here)
http://www.xda-developers.com/android/new-runtime-compiler-in-android-4-4/#comment-1104912482
So I feel people need a quick primer on what this is and what it means.
First: Dalvik is the Virtual machine that all android apps run on. What's that mean? Well, when a developer writes an app using Java, it isn't compiled specifically for any single device. It has to run on a whole bunch of different ones that have all kinds of different CPU's (ARM, Intel, etc.). So, the java code gets compiled into "bytecode", which is half-way between human-readable source code and something that the CPU can understand. Dalvik takes this byte code and then translates it into something the CPU can actually understand. This is good, because it means your app should run on a bunch of different CPU's without you needing to code specifically for it.
Now ART is essentially a better version of this that supposedly should be capable of converting this bytecode into something much more efficient, something that the CPU can understand better. More efficient means two things - faster performance and as a byproduct, better battery life. It could also mean things like lower memory usage but it's a bit early to tell.
This makes me wonder two things. First, how bad was Dalvik that 2x performance is easily attainable in a still early unoptimized release? And second, for balls sake, how blisteringly fast will todays already crazy fast devices be on it?