R – iPhone/iPod touch CPU/GPU performance

iphoneipod-touchperformancephysics

How many bogomips (or any other relevant unit) can an iPhone or iPod touch deliver?

Is performance in larger applications, as on normal PCs, more limited to cache thrashing than to number of CPU instruction? Or is there some other limit?

What is a recommended total polybudget for a state-of-the-art game in a plain iPod touch (i.e. not iPhone 3GS)?

Does the ARM-11 in the iPod touch and the Samsung ARM in the iPhone have an FPU with the same performance as that of a normal PC, scaled to the core clock frequency?

The reason I'm asking is that I want to port a game with a physics engine (i'm using ODE). If you know anything else I should look out for, don't hesitate to mention it!

Best Answer

GLBenchmark has published a series of benchmarks for various mobile devices, including the iPhone, iPhone 3G, and iPhone 3GS. For example, the iPhone 3G appears to be capable of rendering 687,000 smooth shaded triangles per second (the best I've actually been able to get in my application is 460,000).

In regards to the CPU, the ARM processor on the iPhone has native floating point support, and even has a vector floating point unit. In comparison to a desktop, I ran a computationally intensive operation (NSDecimal addition) on both my desktop (in the iPhone simulator) and on the device (non-3G iPhone). The desktop (MacBook, white, 2.0 GHz Core 2 Duo) did 3344593 operations per second, where the iPhone did 281555. The desktop, which scored 2.64 Gflops on Xbench, was 11.88 times faster than the iPhone. Whether this means that the non-3G iPhone is capable of more than 220 Mflops would require more testing.