iPhone Performance Across Generations

 

We did this in the iPhone 5 review, so I thought I'd continue the trend here. For those users who have no desire to leave iOS and are looking to find the best time to upgrade, these charts offer a unique historical look at iPhone performance over the generations. I included almost all iPhone revisions here, the sole exception being the iPhone 3G which I couldn't seem to find. 
 
All of the devices were updated to the latest supported version of iOS. That's iOS 7 for the iPhone 4 and later, iOS 6.1.3 for the iPhone 3GS and iOS 3.1.3 for the original iPhone.
 
At its keynote, Apple talked about the iPhone 5s offering up to 41x the CPU performance of the original iPhone. Looking at SunSpider however, we get a very different story:

iPhone Generations - SunSpider 1.0

Performance improved by a factor of 100x compared to the original iPhone. You can cut that in half if the iPhone could run iOS 4. Needless to say, Apple's CPU performance estimates aren't unreasonable. We've come a long way since the days when ARM11 cores were good enough.

Even compared to a relatively modern phone like the iPhone 4, the jump to a 5s is huge. The gap isn't quite at the level of an order of magnitude, but it's quickly approaching it. Using the single core iPhone 4 under iOS 7 just feels incredibly slow. Starting with the 4S things get a lot better, but I'd say the iPhone 4 is at the point now where it's starting to feel too slow even for normal consumers (at least with iOS 7 installed).

iPhone Generations - Browsermark 2.0

Browsermark 2.0 gives us a good indication of less CPU bound performance gains. Here we see over a 5x increase in performance compared to the original iPhone, and an 83% increase compared to the iPhone 4.

I wanted to have a closer look at raw CPU performance so I turned to Geekbench 3. Unfortunately Geekbench 3 won't run on anything older than iOS 6, so the original iPhone bows out of this test.

iPhone Generations - Geekbench 3 (Single Threaded)

Single threaded performance scaled by roughly 9x from the 3GS to the iPhone 5s. The improvement since the iPhone 4/4S days is around 6.5x. Single threaded performance often influences snappiness and UI speed/feel, so it's definitely an important vector to scale across.

iPhone Generations - Geekbench 3 (Multi Threaded)

Take into account multithreaded performance and the increase over the 3GS is even bigger, almost 17x now.

The only 3D test I could get to reliably run across all of the platforms (outside the original iPhone) was Basemark X. Again I had issues getting Basemark X running in offscreen mode on iOS 7 so all of the tests here are run at each device's native resolution. In the case of the 3GS to 4 transition, that means a performance regression as the 3GS had a much lower display resolution to deal with.

iPhone Generations - Basemark X (Onscreen)

Apple has scaled GPU performance pretty much in line with CPU performance over the years. The 5s scores 15x the frame rate of the iPhone 4, at a higher resolution too.

iPhone 5s vs. Bay Trail

I couldn't help but run Intel's current favorite mobile benchmark on the iPhone 5s. WebXPRT by Principled Technologies is a collection of browser based benchmarks that use HTML5 and js to simulate a number of workloads (photo editing, face detection, stocks dashboard and offline notes).

iPhone 5s vs. Bay Trail - WebXPRT (Chrome/Mobile Safari)

Granted we're comparing across platforms/browsers here, but the 5s as a platform does extremely well in Intel's favorite benchmark. The 5c by comparison performs a lot more like what we'd expect from a smartphone platform. The iPhone 5s is in a league of its own here. While I don't expect performance equalling the Atom Z3770 across the board, the fact that Apple is getting this close (with two fewer cores at that) is a testament to the work done in Cupertino.

At its launch event Apple claimed the A7 offered desktop class CPU performance. If it really is performance competitive with Bay Trail, I think that statement is a fair one to make. We're not talking about Haswell or even Ivy Bridge levels of desktop performance, but rather something close to mobile Core 2 Duo class. I've broken down the subtests in the table below:

WebXPRT Performance (time in ms, lower is better)
Chrome/Mobile Safari Photo Effects Face Detection Stocks Offline Notes
Apple iPhone 5s (Apple A7 1.3GHz) 878.9 ms 1831.4 ms 436.1 ms 604.6 ms
Intel Bay Trail FFRD (Atom Z3770 1.46GHz) 693.5 ms 1557.0 ms 542.9 ms 737.3 ms
AMD A4-5000 (1.5GHz) 411.2 ms 2349.5 ms 719.1 ms 880.7 ms
Apple iPhone 5c (Apple A6 1.3GHz) 1987.6 ms 4119.6 ms 763.6 ms 1747.6 ms

It's not a clean sweep for the iPhone 5s, but keep in mind that we are comparing to the best AMD and Intel have to offer in this space. I suspect part of why this is close is because both of those companies have been holding back a bit (there's no rush to build the fastest low margin parts), but it doesn't change reality.

 

CPU Performance GPU Architecture & Performance
Comments Locked

464 Comments

View All Comments

  • Dug - Wednesday, September 18, 2013 - link

    "maybe you should hire a developer to write native cross platform benchmark tools"
    WHY? It is not going to make any difference. Developers aren't writing native cross platform programs. If they can take advantage of anything that's in the system, then show it off.
    That would be like telling car manufacturers to redesign a hybrid to gas only to compare with all the other gas only cars.
  • ddriver - Wednesday, September 18, 2013 - link

    "Developers aren't writing native cross platform programs"

    Maybe it is about time you crawl from under the rock you are living under... Any even remotely concerned with performance and efficiency application pretty much mandates it is a native application. It would be incredibly stupid to not do it, considering the "closest" to native language Java is like 2-3 times slower and users 10-20 times as much memory.
  • Dug - Wednesday, September 18, 2013 - link

    Exactly my point! "native cross platform" Each cross-platform solution can only support a subset of the functionality included in each native platform.

    It doesn't get you anywhere to produce a native cross platform benchmark tool.

    Again you have to mitigate to names and snide comments because you are wrong.
  • ddriver - Wednesday, September 18, 2013 - link

    What you talk about is I/O, events and stuff like that. When it comes to pure number crunching the same code can execute perfectly well for every platform it is complied against. Actually, some modern frameworks go even further than that and provide ample abstractions. For example, the same GUI application can run on Windows, Linux, MacOS, iOS and Android, apart from a few other minor platforms.
  • Anand Lal Shimpi - Wednesday, September 18, 2013 - link

    Ultimately the benchmarking problem is being fixed, just not on the time scale that we want it to. I figured we'd be better off by now, and in many ways we are (WebXPRT, Browsermark are both steps in the right direction, we have more native tools under Android now) but part of the problem is there was a long period of uncertainty around what OSes would prevail. Now that question is finally being answered and we're seeing some real investment in benchmarks. Trust me, I tried to do a lot behind the scenes over the past 4 years (some of which Brian and I did recently) but this stuff takes time. I remember going through this in the early days of the PC industry too though, I know how it all ends - it'll just take a little time to get there.

    Actually I think 128-bit registers might've been optional on v7.

    The only reason encryption results are in that table is because that's how Geekbench groups them. There's no nefarious purpose there (note that it's how we've always reported the Geekbench results, as they are reported in the test themselves).

    In my experience with the 5s I haven't noticed any performance regressions compared to the 5/5c. I'm not saying they don't exist and I'll continue to hunt, it's just that they aren't there now. I believe I established the reasoning for why you'd want to do this early, and again we're talking about at most 12 months before they should start the move to 64-bit anyways. Apple tends to like its ISA transitions to be as quick and painless as possible, and moving early to ARMv8 makes a lot of sense in that light. Sure they are benefiting from the marketing benefits of having a feature that no one else does, but what company doesn't do that?

    I don't believe the move to 64-bit with Cyclone was driven first and foremost by marketing. Keep in mind that this architecture was designed when a bunch of certain ex-AMDers were over there too...

    Take care,
    Anand
  • BrooksT - Wednesday, September 18, 2013 - link

    Why would Anand write cross-platform benchmarks that have no connection to real world usage? Especially when you then complain that the 64 bit coverage isn't real world enough?
  • ddriver - Wednesday, September 18, 2013 - link

    For starters, putting the encryption results in their own graph, like every other review before that, and side to side comparison between geekbench ST/MT scores for A7 and competing v7 chips would be a good start toward a more objective and less biased article.

    And I know I am asking a lot, but an edit feature in the comment section is long overdue...
  • TheBretz - Wednesday, September 18, 2013 - link

    For what it's worth this is NOT a case of LITERALLY comparing "Apples" and "Oranges" - it is a case of comparing "Apple" and many other manufacturers, but there was no fruit involved in the comparison, only smarthphones and tablets.
  • ddriver - Wednesday, September 18, 2013 - link

    Apples to oranges is a figure of speech, it has nothing to do with the company apple... It concerns comparing incomparable objects which is the case of completely different JS implementations on iOS and Android.
  • Arbee - Wednesday, September 18, 2013 - link

    Please name any case when AT's benchmarks and reviews have been proven to be biased or inaccurate. There's a reason the writers at other sites consider AT the gold standard for solid technical commentary (Engadget, Gizmodo, and the Verge all regularly credit AT on technical stories). As far as bias, have you *heard* Brian cooing about practically wanting to marry the Nexus 5? ;-)

    I think what actually happened here is that apparently Apple engineers listen to the AT podcast, because aside from 802.11ac and the screen size the 5S is designed almost perfectly to AT's well-known and often-stated specifications. It hits all of Anand's chip architecture geekery hot buttons in a way that Samsung's mashups of off-the-shelf parts never will, and they used Brian's exact line "Bigger pixels means better pictures" in the presentation. And naturally, if someone gives you what you want, you're likely to be happy with it. This is why people have Amazon gift lists ;-)

    Krait's 128 bit SIMD definitely helps, but it won't match true v8 architecture designs. I've written commercially shipping ARM assembly, and there's a *lot* of cruft in the older ISA that v8 cleans right up. And it lets compilers generate *much* more favorable code. I'll be surprised if the next Snapdragons aren't at least 32-bit v8. Qualcomm has been pretty forward-looking aside from their refusal to cooperate with the open-source community (Freedreno FTW).

    As far as 64 bit on less than 4 GB of RAM, it enables applications to more freely operate on files in NAND without taking up huge amounts of RAM (via mmap(), which the Linux kernel in Android of course also has). Apps like Loopy HD and MultiTrack DAW (not to mention Apple's own iMovie and GarageBand) will definitely be able to take advantage.

Log in

Don't have an account? Sign up now