Sushi

tap tap tap

tasty bits for your iPhone

Our blog blog blog

256÷128=10?! The impact of the iPhone 3GS RAM increase

by John Casasanta
July 8, 200921 comments

RAM fight!

The most significant thing that Apple’s been touting about new iPhone 3GS is its speed. Generally, when you think about speed improvements, you think of faster CPUs, faster GPUs, and such. But one very important difference in the 3GS that’s contributing to the overall performance is the increased RAM and that’s pretty much gone under the radar.

Apple’s been fairly quiet about the actual specs of the hardware that’s been in all the iPhones. Take a look at their Technical Specifications page and do a quick search on processor speed, GPU specs, or RAM sizes and you’ll come up empty. Essentially, all you’ll find is the “capacity” and that’s mainly because that’s how they differentiate the various models (“capacity” on the iPhone refers to its flash memory and is the equivalent of hard drive space on your Mac or PC).

But even though Apple’s been mum about these details, the actual specs are fairly widely known…

CPU (central processing unit):

  • original iPhone: ARM 11, 412 MHz
  • iPhone 3G: ARM 11, 412 MHz
  • iPhone 3GS: ARM Cortex, 600 MHz

GPU (graphics processing unit):

  • original iPhone: PowerVR MBX Lite
  • iPhone 3G: PowerVR MBX Lite
  • iPhone 3GS: PowerVR SGX

RAM (random access memory):

  • original iPhone: 128 MB
  • iPhone 3G: 128 MB
  • iPhone 3GS: 256 MB

At a glance, you’ll notice that the RAM in the 3GS doubled from past iPhone models. Twice the amount of RAM than you’ve had is never a bad thing, but the reality here is far more noteworthy… The older iPhone models have been often considered underpowered when it comes to RAM, so even though the RAM amount is technically doubled, in actual use, you’ll often be working with 4x to 10x the amount of free RAM. And that’s one major aspect that’s contributing to the overall speedier feel of the 3GS.

3GS startup

Here’s what the RAM usage looks like for my freshly started 3GS using the handy app Memory Status. “Wired” and “active” RAM is generally memory that’s in-use while “inactive” and “free” is basically available.

So there’s around 156 MB of memory available at startup time.

iPhone 3GS RAM after startup

3G startup

Now compare this to my freshly started 3G. The available memory is just under 40 MB. So right out of the gate, you’re playing with around 4x the memory on the 3GS.

iPhone 3G RAM after startup

The apps that are running when both phones start-up are:

  • MobileMail (Mail)
  • MobileMusicPlayer (iPod)
  • MobilePhone (Phone)
  • BTServer (Bluetooth server)
  • SpringBoard (manages your home screen)
  • accessoryd (controls accessories connected through the dock connector)
  • aosnotifyd (controls MobileMe syncing)
  • mediaserverd (controls audio mixing)

3GS after use

But now, after opening, using, and quitting several apps, you can see that the available memory dropped down a bit to around 122 MB. The one additional app that remained running at this point was MobileSafari (Safari). Apple gives themselves the nice little benefit of being able to run apps in the background.

iPhone 3GS RAM after use

3G after use

Again, by comparison you can see that after similar use, the 3G’s available memory drops down to under 13 MB. Here’s where the close to 10x factor comes in.

iPhone 3G RAM after use

So why are these multipliers significant? Well, the more available RAM you have, the more you’re able to keep the background apps running. One huge difference I’ve noticed on the 3GS is that I can keep a bunch of Safari tabs open and when I go through them, they rarely need to reload. Anyone who’s owned a 1st generation iPhone or a 3G can attest to the fact that Safari would almost always reload each full page when you’d jump from tab to tab.

And a similar thing happens when you jump from app to app. One of the things that made the older phones feel sluggish was having each app fully load when you’d open it. But now with the 3GS and its larger memory, this is very much a thing of the past since many of the standard apps (Mail, Safari, etc) don’t unload so easily now. Because these are the apps that are used most often by people, this is one major reason that everything feels so much more zippy on it.

So even though Apple isn’t touting it, the increased RAM size of the iPhone 3GS is definitely a major contributor to the “S” in its name. It’s an incredibly welcome improvement.

A digression: I was tempted to use an interrobang (‽) in the post title but, while the creator of them had good intentions, they usually look like crap and are confusing, IMO.

tap tap tap is a leading iPhone and iPad app developer and publisher.

We’ve been creating top-notch apps since the App Store first opened. Our apps are used by literally tens of millions of people in all corners of the world. A few of our favorite and most popular apps we’ve created are:


Who linked to this

21 comments

  1. Kris Markel
    5:11pm, July 8, 2009

    I’ve been wondering if the flash memory used in the 3GS is also faster than what’s in the 3G. Beyond just having more RAM, quicker access and faster reads on the “hard drive” could significantly improve things like application launch times.

  2. Stephen Coles
    10:45pm, July 8, 2009

    Continuing your digression: here’s what a well-designed interrobang looks like.

  3. Justin
    10:49pm, July 8, 2009

    I wonder why they don’t list the CPU and RAM specs on their site. You think they would want people to know how much faster the “S” is?

  4. Karl
    11:36pm, July 8, 2009

    There are other factors at play here. The ARM11 instruction set allows for smaller object code size for one. And its well known that Apple are using LLVM extensively.

    These two factors combined probably lead to the actual OS core and Apple’s own applications being 25% smaller and executing faster (less memory to read and faster instructions on a faster CPU)…assuming Apple has recompiled everything to take full advantage and it would be unlike Apple not to..

    Apple is using the extra RAM to very good effect in terms of making the 3GS much faster but also leaving plenty of space for developers to benefit.

    Can it be long before we get third party ‘blessed’ apps that can run some part of themselves in the background…?

  5. Jim stewart
    4:56am, July 9, 2009

    This was a huge selling point for me. Now I can use backgrounder to run apps like Tuner in the background and still use mail and safari without Tuner running out of memory. Not to mention being able to have Skype or similar running.

  6. John Casasanta
    6:28am, July 9, 2009

    I just corrected a small but significant oversight in the post (I left out the word “additional” when talking about background apps):

    “The one additional app that remained running at this point was MobileSafari (Safari).”

  7. Craig Hunter
    8:04am, July 9, 2009

    I saw some big impacts of the free memory on the 3GS when developing Mars Flyer, which will use up to 27MB of RAM if allowed. On older devices, this is an intricate dance, but it becomes a non-issue on the 3GS. I got into some of the details in my blog. I agree, this is a watershed change for developers.

  8. Dalton
    9:33am, July 9, 2009

    I wonder how long it will be before we start seeing applications that are “optimized” for the 3GS, in the sense that they require the additional RAM and speed improvements to run properly, leaving those of us with older phones feeling left out?

  9. Louis
    10:03am, July 9, 2009

    Karl:

    Apple is definitely investing heavily in LLVM, but they are not using it on the iPhone at this time. The ARM backend is not yet production quality, it is not an option in the current SDKs, and if you look at the frameworks on an iPhone they were clearly built with gcc, not llvm-gcc or clang.

    There is no doubt that at some point in the future iPhone OS (and its apps) will be built with LLVM, but it isn’t yet.

  10. Paul Goracke
    11:38am, July 9, 2009

    As a developer with a 3GS whose wife has his old 1st Gen, I’ve noticed this newfound memory bounty makes it easy to get complacent about handling memory warnings while developing—and more difficult to get a real feel for how often these will happen on all the pre-3GS devices out there.

    Just one more stage to the required test matrix, I guess…

  11. Mike
    3:53pm, July 9, 2009

    Whilst you’re correct in that there is considerably more memory available to applications on the 3GS, you’ve made the usual (incorrect) assumptions about how the various reported memory numbers translate into memory that’s available to an application.

    With the exception of wired memory, and in the case of iPhoneOS, private memory, all of RAM is used by Darwin as a cache for data that lives persistently somewhere else.

    “Free” memory is memory that is not being used by the cache, but memory from both the active and inactive categories is also available for re-use.

    Without considering the distribution of private memory between the active and inactive categories in the above charts, they are unfortunately meaningless. Even then, you would need to distinguish between private memory that will be surrendered on receipt of a low memory warning vs. that which won’t before you can approximate how much memory is available to an application.

    = Mike

  12. John
    9:30pm, July 9, 2009

    Yes, they unclogged the bottleneck. :)

  13. ed
    12:17am, July 10, 2009

    Invizible

  14. Ed
    12:23am, July 10, 2009

    Your site is invisible on the Google Android browser. No text at all.

  15. Hayden James
    4:41pm, July 15, 2009

    This is great. Will have to link to this. Thanks

  16. John Casasanta
    4:39am, July 20, 2009

    @ Mike:

    See this: http://bit.ly/virtualmem

  17. iphone 3gs fan
    6:11am, April 30, 2010

    Interesting article, thanks. I am looking at developing at the moment and certainly will have to keep an eye out to ensure programs function correctly on previous iphone generations.

  18. Unlock iPhone 3.1.3
    8:40pm, June 25, 2010

    I want to jailbreak and unlock my new iphone 4. All sites only have unlock iphone 3.1.3 3GS. Any help anyone?

  19. Joe
    6:15am, July 7, 2010

    I wonder if I can upgrade the RAM memory in a 3g to 3gs or 4… if I changed it would it see it? Is it plug in or would I need to solder chips on the board?
    Next thing. Is the 16GB solid state? Seems it would have to be. Can that be upgraded too? Would the os see it too? Any help would be appreciated!
    Thank you Joe

  20. iphone_addict
    1:34am, July 15, 2010

    I wonder how much RAM they have in the iPhone 4. I know the processor is now 1GHZ

  21. tekchic
    12:03pm, July 30, 2010

    Great article thanks. I did notice that the font makes it a little difficult to read in this blog w/the nice paper textured background. Maybe it’s just my eyeballs. ;)

    Helpful article - it’d be cool to see an update with a chart including iPhone 4 which purportedly has 512mb RAM.


the comments are now closed