For the uninitiated JIT stands for Just-In-Time compilation. It is a method of converting bytecode into native machine code, rather than the virtual machine (In Android’s case the Dalvik VM) simply interpreting the bytecode. This, understandably, makes your phone much faster. It’s the equivalent of converting a book from Mandarin to English then reading it rather than looking up each section in a dictionary when you want to read it. The analogy continues further as JIT results in a very slow first start up and this is one of the major reasons why the Android devs have been hesitant about including it in Android. Bill Buzbee (member of the Dalvik team) states:
To restate, the choice is between a near-immediate good performance boost vs. a better, but delayed, performance boost. An important use case for us is when a user downloads a new app from the market. Â Anecdotally, we think that for many users there is a very short window in which the first keep/uninstall decision is made – on the order of a few seconds. Â If the application feels sluggish on first use it may get discarded before it has a chance to shine. Â We didn’t want to require that an application build up a usage profile over a series of runs, or introduce a big up-front compilation pause to benefit from the JIT.â€
We’ve seen JIT already in some ROMs as there was a snapshot from November included in the 2.x AOSP. Cyanogen’s famous N1 build Beta 3 included JIT and has set the top speed on BenchmarkPi; OpenEclair 1.0.1 included JIT and absolutely flew. Historically devs remove JIT after about one build, however, as it is pretty unstable as it stands. The point remains that JIT will give your Android wings.
And now JIT is available for your Android running a 1.6 custom ROM (Cyanogen, SuperD, WG, etc.) as long as the devs have mixed in enough Eclair with their build. Codenamed ‘Dusty Donuts’ a compiled library is now available for courtesy of Licknuts over at trusty XDA.
The instructions are fairly simple and you should be able to take a fair bit of time off your Linpack and BenchmarkPi scores.
Remember that this hack is currently labeled as being Alpha so if you’re nervous about your lovely phone then maybe hold off for a bit, but it should be safe.
Let us know how your benchmarks go!