Introduction

Before I dive into the numbers, let’s talk briefly about what makes the iPhone 3G (and 2G) fundamentally different from the 3GS. The iPhone 3G, like the 2G, is based around a 412 MHz ARM11 family Samsung SoC which implements the ARMv6 instruction set. It’s got 128 MB of LPDDR1. By contrast, the iPhone 3GS uses a 600 MHz ARM Cortex-A8 family SoC which runs the ARMv7 instruction set, and packs 256 MB of LPDDR1. The iPhone 4 similarly runs ARMv7 code.

By nature of the two platforms running different instruction sets, their underlying iOS kernels are completely different, even though ARMv6 is a subset of ARMv7. In all likelihood, Apple embraces ARMv7 for speed gains on 3GS and 4, and therefore has to keep a separate kernel for ARMv6. That applied with iOS 3.x and applies the same way with iOS 4.x.

For whatever reason, it seems as though the kernel for ARMv6 devices like the iPhone 3G weren’t quite as optimized as they could have been. As a result, performance on iOS 4 with the iPhone 3G was sluggish.

Speed Testing the Platforms

Even while waiting in line for the iPhone 4, numerous iPhone 3G users I talked with noted a dramatic slowdown. Using one, I was amazed how sluggish things like even jumping in and out of the messaging application were. At the time, I wasn’t sure how much of this to attribute to the iPhone 3G just being an older device, or the iOS 4.0 update. 

iPhone 3G users aren’t asking much, they just want the original speed and responsiveness of their devices back. For these tests, I borrowed a friend’s iPhone 3G and ran through a gamut of tests on iOS 3.1.3, iOS 4.0.2, and the iOS 4.1 GM which should be released September 8th. I also ran tests on an iPhone 3GS running 4.1 GM, though I’ve excluded results in two tables because the numbers destroy the dynamic range on the graphs for seeing change on the iPhone 3G.


iPhone 3G, iPhone 3GS, iPhone 4

Note that downgrading the iPhone 3G is easy since Apple isn’t enforcing SHSH blobs on it. If you can grab the image from any number of thoughtful repositories online, you can restore and downgrade with it. You might get stuck inside recovery mode at the end - but for that, simply use RecBoot.

Browser Testing

For all of these tests, I used a completely fresh, brand new restoration image with no other installed applications and connected to my 802.11n wireless network. I run tests three times and average, throwing out any outliers. Note that launching from a fresh install is critical on iOS as the platform saves a screenshot when closing, and immediately open that when relaunching so successive launches feel faster. 

Our first test is the SunSpider JavaScript benchmark:

Unsurprisingly, the iPhone 3G on 4.0.2 and 4.1 beats 3.1.2. I say unsurprising because iOS 4.x brings a new version of WebKit with faster JavaScript engine. This is actually the one place where the 4.0.2 update helped the iPhone 3G. Note that the iPhone 3GS runs this test nearly 3x faster, taking 14707.8 ms. 

Next up is Browsermark, which spits out an overall score representative of overall browsing responsiveness. There’s some JavaScript, some parsing, some rendering - it aims to be an all around general speed benchmark. 

This is more along the lines of what people have been reporting with the iPhone 3G, though it isn’t quite as pronounced. iOS 3.1.2 scores higher than 4.0.2, but 4.1 closes the gap some. It still isn’t quite there, but has improved. 

A similar test is to see how fast Safari rotates from landscape to portrait. On iOS 4.0.2, it’s measurably slower than 3.1.3, but how does 4.1 fare? Here we start the clock right as we rotate, and stop as soon as the page has rendered completely - you can tell when the text goes from fuzzy to sharp when Safari has completely rendered the page in the new orientation. 

   

Here iOS 4.1 gets us close to how snappy 3.1.2 was but remains just a tad slower.

 
Faster Application Launches
POST A COMMENT

36 Comments

View All Comments

  • chdude3 - Tuesday, September 07, 2010 - link

    The author of the article doesn't appear to address the issues that I (and several friends, and seemingly a LOT of people posting on the interwebs) encountered when trying to use iOS4.X on a 3G phone. Yes, things became a little slower to launch/open, but the OS itself would frequently pause for inordinate amounts of time.

    I'd launch Safari which would open just fine, but attempting to scroll down a page would cause the phone to freeze for up to 30 seconds before it would become responsive again. This behaviour was all over the phone - it would frequently pause and stutter all the time and rendered my phone nearly unusable.

    I could have dealt strictly with an extra 2 seconds to open the Settings menu, if my phone wasn't constantly freezing and stuttering to the point that it would not allow me to answer an incoming call before the caller gave up and hang up!

    Basically, I want to know if 4.1 will make my phone an unusable mess again, or should I stick with my 3.1.3 downgrade!
    Reply
  • Brian Klug - Tuesday, September 07, 2010 - link

    That's a good point. I haven't really seen safari freeze for a full 30 seconds, but there's some stuttering and pausing for certain on 4.0.2 on the iPhone 3G.

    In fact, one of the more irritating problems with 4.0.2 has been the turn on/turn off lag from the power button. It's so bad that I'll mash buttons to turn it on, then it'll turn on and quickly turn off. On 4.1 standby and resume seem much smoother.

    I hesitate to say it's gone entirely because I believe a bit of that becomes pronounced after using the OS for a while, but I will say that during my time with the iPhone 3G on 4.1 I never saw any inordinate stuttering. That appears cleared up.

    -Brian
    Reply
  • Colin1497 - Thursday, September 09, 2010 - link

    No, the author doesn't address the real issues at all. But he does manage to be a jerk. So far I'm doing OK with 4.1 on my upgraded phone. I'd do 4.1 for the features at this point. Reply
  • Botia - Tuesday, September 07, 2010 - link

    "Apple deserves credit for keeping a device just over 2 years old fully updated and supported."

    Considering a 2-year contract, I would expect 2 years to be the bare minimum, with 3-5 years being more appropriate.
    Reply
  • gunblade - Tuesday, September 07, 2010 - link

    Tell that to HTC. My less than a years old Hero is totally abandoned and forgotten.
    Tell that to Samsung too, apparently most of their non flagship (Galaxy -S) device are no getting any support at all.
    I would hope android users hold our vendors to the same standard as Apple.
    Reply
  • solinear - Friday, September 10, 2010 - link

    I think that the big problem is quantity of products.

    HTC has a large number of designs and devices, supporting every single major provider. They are running devices with many different processors, operating systems and networks.

    Apple is supporting 4 devices (iPhone, iPhone 3G, 3Gs, 4) on one carrier. Throw in those four devices on as many carriers (verizon, t-Mobile, Sprint) and you're looking at significantly more complexity.

    I'm not saying that the other vendors need to only have one device line or one OS or anything, I'm just saying that the other vendors have a lot more complexity to deal with than Apple does.

    Honestly, I think that it's a lot like the old laptop problem with video driver updates. I think that the vendors should support the device for one year, but after that, leave it up to the OS vendor to support and update. If the customer wants to update, then they should be able to without "bricking" their phones. This way I can continue to get updated software, if I want to chase it down and do the legwork.

    As for 2 year contracts, you can upgrade after a single year with the same discount as you could after 2 years with many of the carriers. I upgrade my phones after a year and every time am very happy that I did.
    Reply
  • CZroe - Tuesday, September 07, 2010 - link

    And the fact that it has the exact same performance as the original iPhone means that they have no excuse for not updating it too (same CPU/memory). So, just because it isn't a 3G device they block it from the 4.0-only apps and restrict their potential market. WHY?! Oh yeah: To enforce an upgrade cycle. This is even more ridiculous when you consider that the effort to maintain two kernels could have gone farther.

    When Apple implied that the original phone couldn't handle it, they were lying. Edge vs. 3G does not factor in to iOS performance and it's the same hardware otherwise (minus GPS, of course). It's just like when Apple lied about A2DP not working on the original iPhone due to hardware differences and numeric battery indicator on anything prior to the 3GS (enable either manually using A2DP Enabler or SB Settings; both work fine).
    Reply
  • gcor - Wednesday, September 08, 2010 - link

    I totally agree. I still have 3 months to run on a 3G contract. I don't see that Apple deserves any credit for fixing something they broke. The additional functionality is paltry compared to the phone freezing up frequently.

    I spent a good chunk of change getting TomTom and a cradle to run on my 3G. It was great under iOS 3 and now is completely unusable under iOS 4.0.2. Reverting to iOS 3 is a problem as I can't restore all the info I've put on it since "up" grading to iOS4. So, till now I've had to choose between hacking around to get the phone to function properly again vs. keeping my data.

    iOS4.1 MAY get me running again, but it feels like yet more hassle and a good chance it won't address my problems.

    Apple prides itself on consumer devices that "just work". The 3G iOS4 saga most certainly did not "just work". "Just fail" is a much better description from my experience.
    Reply
  • matthoffman - Friday, October 01, 2010 - link

    This is an old article now, but I can't help it -- this phrasing really gets to me. Saying it's a "2-year old device" is disingenuous at best -- it was being actively sold until just a few months ago, so the majority of buyers are still well within 2-year contracts. So "Apple deserves credit"? No, Apple released the 4.0 update with only 3 hardware versions to test it against and yet somehow still managed to make one of those three unusable (calls unanswerable because the slider won't respond, safari and email locking for 20 seconds at a time, most apps not loading 1 time out of 3...). And now they've failed to fully fix it, or provide a supported downgrade option.

    And saying, "just pick up an Android phone" is infuriating. 'Just pick up' a $380 phone? 'Cause that's how much a Droid 1 is now, without a contract...much less the 1ghz phones Brian's actually recommending. And most people with a Iphone 3G are on contract. If I got in the habit of "just picking up" things (it sounds so trivial and carefree!) that involve that much money, I would "just pick up" a foreclosure in short order, I suspect.
    Reply
  • wm.duncan - Tuesday, September 07, 2010 - link

    Also Brian, the 3G doesn't have the "s" for speed. Reply

Log in

Don't have an account? Sign up now