Diego Milano had a good idea on how to measure the performance of Android emulator: start a shell session (adb shell), and run cat /proc/cpuinfo to get the BogoMIPS:

Processor : ARM926EJ-S rev 5 (v5l)
BogoMIPS : 280.98

However, this BogoMIPS value is highly fluctuating. Different runs of the emulator result in different values, so it is important to start the emulator several times. Although the typical value for my ~2 GHz system is around 300 BogoMIPS, one run resulted in 38 BogoMIPS. Nevertheless, if we assume the BogosMIPS value is not flawed, we need to find reference values for mobile CPUs. The Wikipedia article on ARM architecture has some:
220 MIPS / 200 MHz for the ARM926EJ-S and 600 BogosMIPS / 600 MHz for an XScale CPU.

So, one could assume my emulated 300 BogosMIPS compare to a moderate 300MHz mobile CPU, which happens to be a quite sensible reference value. The speed in the emulator running on a 2 GHz would be around the same speed of an low cost mobile CPU. The iPhone with its ARM11 CPU at 620 MHz would be more than twice as fast.

To take this assumption further, one could create the rule of thumb to multiply the speed of your desktop CPU by 0.15 to get a speed of a corresponding mobile CPU. Like this, the emulation running on a CPU with 2, 3, or 4 GHz would be as fast as on a 300, 450, or 600 MHz mobile CPU.

Keep in mind that all this is based on assumptions and simplifications. 🙂

4 Responses to “Android Emulator Performance”
  1. Selmi says:

    your assumption about desktop CPU speed vs emulator is not correct, it depends on many otehr things. my desktop is 2.1Ghz dual Athlon64 and emulator reports 510BogoMIPS. which means that i probably shouldn’t hope that application will be on real device faster….

  2. Markus Junginger says:

    Selmi, of course you are correct about the weakness of the oversimplifications made in the article. Hertz is just not a measure of CPU speed anymore. That’s also why AMD calls it’s 2.1 GHz CPU Athlon 64 X2 4000+. Your BogoMIPS is actually closer to the 4GHz / 600 MHz value.

  3. developerlife - Tutorials » Android SDK and tools - Getting started says:

    […] Here’s more information on this. […]

  4. developerlife – Tutorials » How to build a service-enabled Android app – Part 1/3 UI says:

    […] also stumbled upon this great article, that talks about how to determine how fast your emulator runs, so that you have some idea how fast […]