I am trying to estimate speed differences when creating code on my desktop PC that will be ported to Android phones. I don't need to be exact, but a good estimation will help stop me from creating code that is dismally slow on an Android phone. I want to support down to the Android G1 so I am using it as my "baseline".
Here is how I am currently performing my calculations using Dhrystone MIPS using an old Pentium 4 for comparison that will be the test unit for quick speed tests. According to this document, a G1 using a Qualcomm MSM72xx ARM CPU is about 1 MIPS per Mhz:
http://www.techautos.com/2010/03/14/smartphone-processor-guide/
Web searches turned up user comments indicating that the G1's CPU comes stock running at around 350 Mhz and not at the 523 Mhz shown in the chip's specs so I am assigning a MIPS rating of 350 MIPS for the G1, rightly or wrongly.
This Wikipedia page shows the Pentium 4 Extreme edition rated at about 9700 MIPS:
http://en.wikipedia.org/wiki/Instructions_per_second
This makes the Pentium 4 approximately 27 times faster than the G1. Given that multiplier, if during one of the time consuming operations my code takes 1 second on the Pentium 4, I would estimate that it would take 27 seconds on a G1.
Is my logic correct? I am hoping it is not because that means I'll have to do some really painful optimizations to the code to make things livable on the G1. If my logic is not correct and there is a better algorithm for this calculation, please let me know.
-- roschler