Google is set to announce Android 2.2 at the Google I/O event this week and one of the highly anticipated features will provide a big boost for performance and battery life. Originally the Dalvik virtual machine was implemented as an interpreter, but now a JIT compiler will be used. Already benchmarks show a roughly 6x improvement in numeric performance with the new JIT. While this will make Snapdragon-powered phones like the Nexus One seem even more responsive it will have the biggest impact on lower end phones using ARM11-based chipsets. It remains to be seen how many existing models will receive upgrades to 2.2.

Future phones and apps are where it'll really be important. So far, Dalvik has been an interesting way to handle Java, and some types of apps are going to be about as good interpreted as compiled; but, interpreted code in general suffers from every unique instruction that has to be run. When different unique code gets run, or code that's just doing some API calls, JIT compilation and caching overhead can actually make it slower, if the interpreter was fairly efficient to begin with. Apps developed after this becomes standard will get to tweak their code from the start for the JIT-enabled engine, and really take advantage of it. OTOH, apps that do computation, branchy messes, and/or lots of IO in Android-Java, aught to immediately benefit.

Given the time and effort put into performance issues with the first two major iterations of Dalvik, I doubt there will be any drawbacks (if anything, peak performance would probably be limited, in favor of not screwing some cases up).

The way Apple's been acting lately, and with the general strangeness surrounding Intel/Nokia, this will be a feather in the cap for Android.