In light of mobile platforms that operate as smooth as butter, such as iOS or Windows Phone, performance of Android devices has been under constant scrutiny. In the two most recent Android versions and by the hand of chip manufacturers, the aim has been to fix outlying performance issues: lag, unsightly stuttering and a incessantly choppy experience.
Now it's all about the cores. Qualcomm, Texas Instruments, Samsung and NVIDIA are all battling for the biggest (metaphorically), baddest and fastest ARM processor without sacrificing (physical) size or power consumption. They're scrambling to offer the same speed we've come to love in larger electronics, second to none battery life and unprecedented power, all in a pocket-sized device.
Intel's goal with Atom-based processors is largely the same. But according to a report from The Inquirer last week, Intel says Android is not yet ready for multi-core processors, and those who are creating multi-core processors are doing so in vain without first optimizing Android's thread scheduler. Mike Bell, GM of Intel's Mobile and Communications group, explains to The Inquirer:
"If you are in a non-power constrained case, I think multiple cores make a lot of sense because you can run the cores full out, you can actually heavily load them and/or if the operating system has a good thread scheduler. A lot of stuff we are dealing with, thread scheduling and thread affinity, isn't there yet and on top of that, largely when the operating system goes to do a single task, a lot of other stuff stops. So as we [Intel] move to multiple cores, we're actually putting a lot of investment into software to fix the scheduler and fix the threading so if we do multi-core products it actually takes advantage of it.
If you take a look a lot of handsets on the market, when you turn on the second core or having the second core there [on die], the [current] leakage is high enough and their power threshold is low enough because of the size of the case that it isn't entirely clear you get much of a benefit to turning the second core on. We ran our own numbers and [in] some of the use cases we've seen, having a second core is actually a detriment, because of the way some of the people have not implemented their thread scheduling."
Bell's statements have sort of went viral over the past few days, stretching far and wide across Android and non-Android sites alike.
Basically, Bell is saying that multi-core architecture support in Android is so poorly implemented that having a second core can even be "detrimental" to the device's performance. Think about that for a minute and let it sink in. The very feature that Android developers implemented in Android 3.0 (Honeycomb, for tablets only) and improved upon in 4.0 (Ice Cream Sandwich) is one that can be detrimental to the Android experience?
It's certainly possible, if implemented poorly. But in my experience, that is not so. To date, I have had no less than 15 dual-core or quad-core Android devices, and they all have performed as great or better than their single-core compatriots. In most cases, noticeably better.
Of course, my testing is clearly far less scientific than Intel's – I try not to use benchmarking tools but judge performance by real world use. But everything from average battery life to scrolling, pinch zooming and switching between or launching applications is smoother than I can ever remember it being with single-core processors. And performance has only gotten better through the generations of SoCs. (This isn't solely due to more cores, but is due to faster clock speeds and more efficient and advanced manufacturing processes.)
The bottom line is, one of the best performing Android phones I have used to date is the HTC One X. The One X is noticeably faster and better at multitasking (or task switching) than any other phone to date that I've used – it's not even comparable to the single-core phones of 2010. The Galaxy S II isn't bad either, neither was the Exynos-powered Galaxy Note. The ASUS Eee Pad Transformer Prime, which is powered by NVIDIA's Tegra 3, was pretty snappy, too, with great battery life.
My guess is Intel is trying to promote their single-core Atom chips by nitpicking a slight inefficiency from multi-core processors. The Inquirer's Lawrence Latif explains:
"Intel's single-core Medfield Atom processor enters the market at time when almost all of the big hitting ARM vendors are focusing efforts on dual-core and quad-core processors."
At the end of the day, whether Intel has a valid point or not, the push for multi-core processors have spurred a lot of attention in the efficiency of mobile processor technology. And as long as performance isn't noticeably worse – which it hasn't been in my experience, not in battery life or performance – then it shouldn't matter. If nothing else, using multi-core processors is a way to future-proof phones for better optimized software in future updates. I would much rather have a dual-core processor that can't be (or isn't yet) properly optimized over a single-core processor than can't take advantage of optimized software in a future update.
Latif says it's safe to assume Intel will be bringing multi-core Atoms to mobile sooner rather than later. And I'm sure Intel's story will change once their multi-core processors hit the market, with or without improvements to the thread scheduler.
Where do you stand on the matter, ladies and gents? Is it multi-core for you from now on? Or do you care about the minor, nitpicky claims from a company who doesn't even offer a multi-core mobile processor yet?