Now With More Speed
Over lunch today, I did some benchmarking with Linpack on my own Nexus One, using a stock Android 2.1 build, and the Nexus One provided by Adobe. It was astonishing to see the difference in MFLOPS (Millions of FLOating-Point operations per Second), essentially a high-precision mathematics sequencing instruction set that tests how quickly a CPU can run a known number of calculations. Since Linpack themselves publish a benchmark Top 10 for Android devices, I’m not disclosing anything that hasn’t already been publicly confirmed by others.
Dare to Compare
The stock Nexus One with Android 2.1 averages in the high 6.9 to low 7.0 range for MFLOPS, but the Nexus One running the Debug release of Android 2.2 (aka FroYo, “frozen yogurt”) can apparently achieve a score of up to 40 MFLOPS. My own testing confirms it at a high-36 to mid-37 range:
How it’s Done
Google has already confirmed that a new JIT (just-in-time) Java compiler will be in Android 2.2, but I don’t pretend to know how the Java virtual machine works or how JIT would improve it. Rumor has it that Android 2.2 will be announced at Google IO next week, so hang tight!
Update, May 12 10am PST
As specified above, I don’t know whether this is JIT in action. I can’t confirm or deny that JIT is part of the Froyo release. The Nexus One provided to my employer has a developer release of Froyo on it, but I’m not allowed to disclose the features of the OS — but if this stuff makes it into the official release WHOA BABY.
Update, May 20, 9am PST
Google announced at Google IO that Froyo does indeed have the new Just-In-Time compiler.