Dual Core? No, We’re Not Ready.

The big hype is all about dual-core processors for your Android device. Yup, folks, Android is the only system running on dual-core devices. I mean, iOS running on a dual-core? Nope, not yet, but it’s possible the iPad 2 or iPhone 5 will sport a dual-core processor. Windows Phone 7? Still no. Google has taken the front seat on the innovation car, leaving its competitors behind. But why is a dual-core processor such a big deal? Simply put–if the possibilities it offers are fully optimized, it  outmatches single-core processors in many ways.

Here’s what it all comes down to. The picture above shows the theoretical power (and battery-life savings) of a dual-core processor, but the OS has to support it. iOS doesn’t (yet), and neither does Windows Phone 7. Even Android doesn’t fully support it across all version of the platform. Sure, Android will run on a Tegra2 processor, but it won’t unlock its full power.

It’s like putting an average granny in a Ferrari. The Ferrari (multi-core processor) has an huge potential, but the granny (Android) doesn’t know how to handle it. She will be able to drive a little faster (improved benchmarks), but driving a Ferrari is an art, not a trick. I think that the benchmarks of the HTC Flyer won’t be outmatched by the dual-core processors too easily. Honeycomb does make use of dual-core power, but we’ll have to see if it makes optimal use of it. And then there’s the apps. There aren’t any apps that are optimized for a multi-core processor yet, because Android, as a whole, doesn’t support it. And what the system can’t do, neither can the apps.

Does that mean it doesn’t bring any advantages at all? No, of course not. It stimulates your battery life, as shown in the picture above again. But again, the OS has to really be built in a certain way to take full advantage of this feature.

Don’t get me wrong, I love the idea of having a multi-core processor in my device, but I won’t really love it until Android fully optimizes the possibilities it has to offer.  Besides, single-core processors still provide ample power for today’s devices.

  • acupunc

    I don’t know but wasn’t NVIDIA’s Tegra 3 demo demonstrating how Honeycomb works well with the multi-core chips? All cores were being utilized at nearly the same percentages. And Honeycomb is to be integrated into Android in for the Ice Cream (Sandwich) release.

    So I guess what you are saying here is, the phone version of Android currently isn’t using the multi-core chips to their fullest potential?

    • Yup, they aren’t unlocking the full potential. I don’t know if you’ve tried the Xoom recently, but it’s still a bit laggy.

      • acupunc

        yeah, I tested the Xoom and I didn’t notice any lag whatsoever. It was amazingly responsive and things were happening very quickly. Even my friend that was with me noted how responsive it was. However, I did stop by a Costco the same day and their Xoom was tweaked–I think they intentionally set it up a certain way, and it wasn’t nearly as responsive as the one I played with in Best Buy.

      • Jake

        I jumped on the Android bandwagon the day the original Droid came out. Since then I’ve upgraded to the Droid X (rooted) and am using a rooted Nook Color with Froyo on internal memory. I’ve been totally enthusiastic about Android. However, I have a nagging frustration over the fact that despite the superior specs of Android devices, Apple has such noticeably smoother and faster running devices. The original iPad is reliably smooth and fast running on a single core and less RAM, yet the Xoom gets laggy at times. Same goes for iphone compared to Android phones. Sometimes I wonder whether my love of Android is just me overcompensating for buyer’s remorse.

        • acupunc

          Are you sure that some of the lag isn’t due to widgets or apps that are running in the background?

          Android and iOS handle apps in a very similar way however, Android allows developers to decide on what processes they want their apps to run in the background (“true multitasking”) thus some apps can be poorly designed and can be detrimental to your overall Android experience.

          Also, Android does have a lot more functionality under the hood however, a 1GHz processor should result in a fast device unless you have a “bad” app.

          Also. . . just realized this the other day, duh. . . by using the back button till you leave an app you are exiting that app and clearing its use of memory instantly. Using the home key put the app in a “frozen” state and the memory is only released by the OS if and when it is needed by killing the app.

      • Rene

        With lag decreases of the Froyo to Gingerbread update I wonder if all those upgrades made it into Honeycomb. Might be that Honeycomb still has some blocking IO’s to remove.

  • ari-free

    You have to be pro-active. Honeycomb finally has 2D hardware acceleration. This is something they should’ve had from the beginning but they designed the UI for pre-droid phones without gpu’s.

  • draconis2941

    With all due respect, so what if it’s not fully optimized. I challenge you to find any piece of software that is fully optimized to it’s hardware where that hardware is cutting edge. To that end not being fully optimized now doesn’t mean it can’t be improved later.

    To stick with your car analogy the granny in a Ferarri may not drive like the Stig, but she can still go faster than the granny in a Prius or even the granny in a Corvette. Furthermore she’ll probably get better with time if she want’s to push the limit of the car.

    Just because I can’t fully use or perhaps even appreciate something right now doesn’t mean I shouldn’t be able to buy it.

  • Anonymous

    “Sure, Android will run on a Tegra2 processor, but it won’t unlock its full power.”

    • “Don’t get me wrong, I love the idea of having a multi-core processor in my device, but I won’t really love it until Android fully optimizes the possibilities it has to offer.”

    • Jcold1

      Exactly. This article reminds me of early tirade articles from windows users in response to amiga users gushing about the glories of multitasking. Additionally, it’s poorly researched, completely missing the critical aspect of the OS being threaded.

  • That seems to be the general consensus for single-core supporters. I partly agree, but also have to take into account that I am forced to go with a 2 year contract so I can afford the phone at all. I think a lot of people are in the same boat as me. Getting a single core phone is great for those who can afford off-contract pricing, have multiple lines with upgrades to spare, or are just plain rich. For the rest of us, we have to plan WAY ahead.

    That means getting the best of the newest technology (within reason and time, we all know it’s not smart to wait too long either) available, even if the software doesn’t quite support it yet. Correct, dual-core is not optimized in Android, but you can bet within two years (and most likely 3-4 new versions of android) it will be. And I’ll have the phone, at least for a while, that is the best for the job.

    It makes me feel sorry for the “buy what you want for right NOW” folks like HTC Thunderbolt-buyers, although most of those people fall into the rich or “under-educated light users” that don’t know the difference. For them, the HTC Thunderbolt will be PLENTY good enough.

  • Anonymous

    in the world of smart phones ,hardware does not rule. Look what happened to Nokia. You can pack all the processing power and megapixels you want into a phone, but that doesn’t get the average joe blow to open up his wallet. Apple knows where the real battle is won, and it isn’t all about hardware. It’s nice to have dual core, but if the experience still sucks then you have a problem.

  • Anonymous

    Windows CE7, just released, supports dual core. See this demo video here, where the UI is run on one core and the app logic on another.


    Windows CE7 will be the kernel of the next update of Windows Phone.

  • pedro

    I’ve seen some very good granny driving around..

  • Dualcore all the way

    I think the author puts too much emphasis on apps compatibility. The main advantage of dual core is the ability to handle multipe apps faster. When everything was single core, the app was only requesting an operation, so dual core is the way, just like it is on the PC. If you’re running a demanding game, yes, dual core is not going to help much and will take some creative programming to optimize the game, But for most mobile apps (for guys like me who don’t care for games) dual core mean more productive tasks faster. Hopefully with less battery 🙂

  • Jan Moren

    The OS supports multiple cores just fine. Linux has been able to use multiple cores (and multiple nodes) for many years already. Your running stuff will get distributed across the available cores, so you will see smoother operation and lower workload without touching any application code at all.

    Now, if you specifically want to use multiple cores to speed up a single application you do need to write with that in mind. AFAIK, Dalvik threads are implemented as pthreads, which should make them use multiple cores transparently; using threads would thus be the easiest, most portable way to use multiple cores if available.

  • I’m a bit curious to know why exactly do you think it is not optimized for dual cores?

  • Hetaldp

    What a pointless Article, I am already writting multi threaded Application which can take full juice of CPU since 4 years.

  • Hetaldp

    Dual Core can be utilised by any apps by threading the processes and Android already give C++ access, explorer it

  • Sorry, with all my respect but I can’t beleive that someone who had ever seriously developed with Java or the Android SDK could have such opinion. Where did you get this information from? Thijs, are you a dev or not? Anyway I try to make my point:

    The facts: The Dalvik VM maps Java threads on Linux (native) pthreads 1:1, so SMP performance and behavior is just what the Linux kernel provides. IMHO Linux can distribute threads across multiple cores very well. If you want know more, this is a good intro: http://oreilly.com/catalog/linuxkernel/chapter/ch10.html

    The point is that app developers have to do their homework and make use of threads whenever it makes sense. The Android API provides great tools to do that. Apart from the usual Java thread handling there APIs to make it even easier for Android devs like for example AsyncTask (http://developer.android.com/reference/android/os/AsyncTask.html)

    So I think Android is very well prepared for multi core hardware.

  • Ooops! Better you should ignore Apple’s A5 processor 🙂

  • Anonymous

    Olaf said it best:
    “Sorry, with all due respect but I can’t believe that someone who had ever seriously developed with Java or the Android SDK could have such opinion. Where did you get this information from? Thijs, are you a dev or not?”

    Do you know how threads work and where they are run? Did you know that games usually have a UI thread and a logic/update thread?

    “There aren’t any apps that are optimized for a multi-core processor yet”

    Did you know that there were games since day one on the android market that use multiple threads? And how much more optimized do you want an app to become other that running on multiple threads on multiple cores?

  • Compguru910

    Wow, what a crock. This guy had no point through this whole article. Based on opinions and theoretical possibilites. And now, here we are with dual cores on all 3 platforms, and all three platforms utilize dual cores quiet nicely. I like how in is diagram he shows 2 cores running at 550mhz. Really? Battery life? I have a Xoom tablet and it has amazing battery life.