[Motorola Droid Bionic] Roland Deschain:
I've seen a lot of discussion on various Android/Droid forums on the web over the past month or two about the Bionic, and it having 512MB of RAM. A lot of people don't seem to mind, and some people have even said it doesn't matter because it's DDR2, which is faster than regular DDR.

Well, 512MB of RAM is not enough for a dual-core phone you plan to use for 2 years or more. Here's why, in a rather lengthy post that I also put on MyDroidWorld the other night. I've been on the XDA forums for a long time, though I don't post very frequently and I'm curious to see what people will think of my admittedly long post. So, here is why I think people should think long and hard about whether to buy the Bionic when it does come out, assuming it still ships with 512MB of RAM.

Caching.

Ok - let me explain. The single most important factor in performance of a computer is having enough RAM. When a computer runs out of RAM, it starts to use what's called a page file. It's basically a file on your hard drive that acts as additional RAM. Now, DDR3-1600 speed RAM transfers data at 12.8 gigabytes per second. Phenomenally fast. It also has a reaction time of around 5 nanoseconds, also ridiculously fast. When your operating system has to start using the page file because the physical RAM is full, the performance hit is EXTRAORDINARY. Even the best hard disk drives (not counting SSDs) like the latest Raptor from Western Digital cap out at around 155 megabytes per second for reading and writing, and it has a peak latency of 7 milliseconds for reaction time. 1 nanosecond is 1 million milliseconds, which makes the DDR3 RAM over a MILLION times faster reacting than the hard drive, and the transfer rate of the RAM over 80 times faster than the transfer rate of the hard drive.

In real-world terms, it's like you're talking about an ant versus a Porsche 911 Turbo. Most old computers that have long pauses or hang for several seconds doing even basic tasks, it's because they don't have enough RAM and it's caching stuff between the hard drive and the RAM.

Now, whenever Android runs out of RAM, (same with any operating system) it has to start using its page file, which means it starts using this monstrously slow flash memory as RAM. It's like merging onto a freeway that is gridlocked with traffic when you were going hundreds of miles per hour. The flash memory is a lot slower than the Raptor hard drive for data transfer rates, but it has a read time a lot faster; the best-performing ones are generally under 1 microsecond. 1 microsecond is a thousand times slower than 1 nanosecond. The write times are closer to hard drives, though; generally less than 1 millisecond, so like 10x faster than a hard drive but still 100,000 times slower reaction time to writing data than the RAM is.

What this means is, when your permanent storage is flash-based, it has a much faster reaction time than a hard drive but it's still dog-slow compared to RAM; so when Android runs out of RAM, it caches to the page file on the flash memory, and you'll have the same slowdown effect as you do on an old POS computer, but it's not as noticeable because flash memory reacts faster than disk-based hard drives.

The point of all of this is that, 1GB of DDR1 memory on a phone is FAR better than 512MB of DDR2 memory. The 1GB will prevent you from hitting that metaphorical brick wall of caching data to your flash memory when the 512MB won't. We already use 400MB, or more, of our 512MB of RAM on our existing phones just by turning it on and having a couple of widgets/services in the background above & beyond the stock ones. How do you expect to take advantage significantly higher-end applications and games, which also means (for games, primarily) that they take up more RAM, as well?

You can't have higher-quality graphics without needing more RAM, so when that new version of Angry Birds comes out this fall or something that requires two cores and looks amazing, but uses 250MB of RAM to run instead of the 80MB or whatever the regular one uses now, what do you think has to happen? That's right. Android has to cache that much extra data to your flash memory so it can unload it from the RAM, freeing the necessary space to load Angry Birds HD. This causes more of a delay as it's writing data, and will cause extra choppiness, etc. Another thing to keep in mind is that, as resolutions increase, so do the texture sizes for all applications and widgets that you use, assuming they support the new resolution. More size needed, which takes up more space in RAM.

Don't be fooled. When truly good and proper dual-core benchmarks come out, 1GB RAM dual-core phones will spank their 512MB RAM dual-core brethren for real-world performance in games, and other high-memory applications. Also, excessive caching greatly increases the chance of flash memory going bad. Not a common occurrence if it was fine when shipped, but still something to think about.

So, in summary, even though the performance hit from caching to flash memory isn't as bad as caching to hard disk drives, it's still a tremendous slowdown and it will matter for dual-core phones way more than for single-core ones. The average amount of RAM installed on dual-core desktop computers from Dell/HP/etc. was significantly higher than what the average was for the previous single-core generations were, and there are reasons for that. Primarily, the same reasons I just outlined. In simple terms, faster processors can do more things, which necessarily requires more RAM.

Sorry for the wall of text, I tried to be more concise but it kind of got away from me. I'm not buying a Bionic because it has 512MB of RAM. After owning it a year, it'll be having performance issues on top-end dual-core-required games that run just fine on phones like the Atrix.