New Analysis Casts Doubt On Intel's Smartphone Performance vs. ARM Devices
MojoKid writes "A few weeks ago, the analyst company ABI Research published a report claiming that Intel's new CloverTrail+ platform (dual-core Medfield) for smartphones was significantly faster and more power efficient than anything ARM's various partners were shipping. If you follow the smartphone market, that was a very surprising claim. Medfield was a decent midrange platform when it launched in 2012, but Intel made it clear that its goal for Medfield was to compete with other platforms in its division — not seize the performance crown outright. Further investigation by other analysts has blown serious holes in the ABI Research report. Not only does it focus on a single, highly questionable benchmark (AnTuTu), the x86 version of that benchmark is running different code than the ARM flavors. Furthermore, the recently released Version 3.3 of the test is much faster on Intel hardware than on any of the other platforms. But even with those caveats in place, the ABI Research report is bad science. Single-source performance comparisons almost inevitably are."
Android apps (if they're made correctly,) run on Dalvik, which is platform indapendent. The virtual machine is compiled for ARM & x86 both, and it in turn runs the android apps.
Android supports compiling for x86.
So not all of those are ARM exclusive.
Not if you use the NDK, which most games and video applications will use for performance reasons.
You can of course compile for both.
Why would you have to queue them? I'm sure each of them has his own device, it's not like they have to contend for them with each other.
Ezekiel 23:20
Intel cooking the books on a benchmark? Never happen.
I design chips and work for intel.
Clover Trail is significantly more power efficient than Medfield because it has a lot more power control stuff in it, so more of it is turned off most of the time. This is not a big secret as far as I know.
The rest of the phone consumes power too, particularly the screen. So YMMV.
Every iOS app was compiled for x86 also (iOS simulator), but it doesn't mean any games ship with that binary.
Just because you can easily cross compile does not mean a platform will not have a huge hurdle out of the gate just getting someone to re-compile a build.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
ARM has been focusing on mobile platform architecture for much longer than intel, its like Honda trying to make a truck, sure they did do it but its nothing like a company making nothing but trucks from the get-go. Intel needs to stay right where they are king and keep that crown and stop trying to follow rabbit holes thinking they might find money where ARM is the clear leader down in those places.
News at 11.
I don't think there's any chipmaker (CPU, GPU or otherwise) who hasn't been caught doing it. Not that that makes it right, of course.
For the quick readers, note that this is about Clover Trail, not to be confused with the recently announced Bay Trail. Though it does cast doubts on Intel's claims about the latter's performance...
Apple too might benefit from a shared architecture between the desktop and phone
It'd have to be a hell of a lot more than a "might benefit" for them to do it. It'd have to be the inability of one of the platforms to support future requirements in their existing niche. Which is a very far distant prospect in each case.
App stores make this less of an issue. If Apple wants to switch the iDevices to x86, they'll tell developers that they must have an x86 build posted by such-and-such date, or their app will be dropped from the store.
If that is the only way to get the performance you need, it is the right way.
Using the NDK is not wrong, it is just an option. The play store should really demand x86 and ARM executable for all apps.
The last Atom/Android phone I read about had an ARM emulator for running NDK apps. Performance suffers, but it's better than not running at all (particularly since Atom is more powerful than the common Cortex-A9 cores, so it has some performance to burn).
So how do you propose writing code which is portable between Android and iPhone?
I'm REALLY curious about this one...
Single-source performance comparisons almost inevitably are, yet this point is being made by none other than a single person. I love the irony.
The price is always right if someone else is paying.
Most android apps are compiled for dalvik and don't care what processor is running dalvik.
2 billion?
For small values of 2 billion.
If you write your code in C, you can port it relatively easy to iPhone, Android, WP8, and Blackberry (depending how much UI code you have). If you write it in Java, avoiding the NDK, you have to do two-four times as much work to port it.
Which would you rather do, use the NDK and recompile, or write once for each platform? "The right way" isn't always a single choice, it's usually a compromise.....
If Intel processors become popular in Android phones, Google will probably introduce a multiple-architecture executable format, much like iPhone does with FAT and MACH (currently around 70% of apps for the iPhone have two architectures, one for ARM7 and one for ARM7s).
"First they came for the slanderers and i said nothing."
So Intel comes second once again.
What's really hilarious is that this supposedly "rigged" benchmark got almost zero press (never posted on Slashdot or mentioned on major tech websites) when it first came out. Now the ARM religion has to wage a jihad on anybody who claims that it is physically possible to use silicon that doesn't include royalty payments to the Church of ARM to run your smartphone.
Using my own ARM-based smartphone and the Dexplorer app, I looked at Antutu and other common Android benchmarks. One interesting thing that stood out was that Antutu uses the NDK (i.e. there are C-compiled libraries for both ARM + x86 ABIs). The other benchmarks like quadrant and Linpack were pure java based. Basically what I'm seeing is that the Clovertrail+ x86 hardware absolutely is in the same ballpark as the snapdragon 600 for performance, but that the ARM vendors and Android developers have been optimizing Dalvik for the ARM architecture since 2009 while little has been done for x86. Once a real compiler like GCC gets to generate C-code for the x86 Atoms though (and also for the ARM parts BTW, it's a level playing field), then we see that Clovertrail+ puts up decent competition for modern ARM chips in the same power envelope.
As for the usual: "Intel cheats using compilers!" whine, please take a big dose of vitamin STFU. I've been bored to death for over a decade by the drone of the ARM jihadists who claim that their architecture is so magical that you can literally knock back a fifth of Tequila and vomit up a perfectly optimized web browser before breakfast. If ARM is truly so beautiful and if the engineers at ARM are truly such geniuses, then it should be trivial for them to implement compilers that blow away x86.
App stores make this less of an issue. If Apple wants to switch the iDevices to x86, they'll tell developers that they must have an x86 build posted by such-and-such date.
Apple DOES NOT do that for older apps. It will often place restrictions on app updates or new app submissions (like must include iPhone5 screen shots) but they don't ever force older apps to do any kind of update - nor should they.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
If you can't buy one of these, who cares?
Or right forgot, it was just a marketing slogan.
...for Google, not Intel.
Eagles may soar, but weasels don't get sucked into jet engines.
Phonegap
Peter predicted that you would "deliberately forget" creation 2000 years ago...
And why not MIPS? It's a pretty popular CPU in China, and has certainly been used in Android based phones and tablets.
PowerPC is a pretty good-performing mobile CPU, too. And I'm sure SuperH CPUs still have their adherents somewhere.
Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
Some guy on the Anandtech forums analysed the AnTuTu code and found that it indeed had been tweeked to favor x86 processors:
http://forums.anandtech.com/showthread.php?t=2330027
The arm fanboys
We are not "ARM fanboys". We are "Intel-haters". There is a difference.
Actually, no: a large plurality of Android apps are coded to Dalvik, which is basically (pun intended) java bytecode. Very few Android apps use the alternative (Native something something), which allows ASM or whatever, and then only for small snippets. That's why Android apps run indifferently on ARM, x86, and MIPS... various versions of those actually.
Optimization is another matter, but that's mostly fro GPU stuff.
The Cloud - because you don't care if your apps and data are up in the air.
Personally I think the best case would be the code is uploaded not any binaries. That way the store can make binaries as needed for new architectures.
Not if you use the NDK, which most games and video applications will use for performance reasons.
You can of course compile for both.
extend the if done correctly to enabling x86 compiling for the native parts.
I really doubt that there's that many apps there that have hand crafted assembly in them...
though this myth that it doesn't have x86 support might have been pushed forward by the action from intel of writing an arm translator for those apps that haven't been ndk compiled for x86.
world was created 5 seconds before this post as it is.
Every iOS app was compiled for x86 also (iOS simulator), but it doesn't mean any games ship with that binary.
Just because you can easily cross compile does not mean a platform will not have a huge hurdle out of the gate just getting someone to re-compile a build.
if you enable the x86 portion then the app ships with both x86 and arm ndk compiled binary parts... and mips too.
all major apps would have that shit working instantly if they got even 10% of the android share.. or sooner, if it makes a good showcase.
world was created 5 seconds before this post as it is.
I always thought MIPS would be a better choice than ARM for low power servers... MIPS already has a 64bit variant which is well tried and tested.
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
I hope this doesn't surprise anyone, but they're running different code. They're also running different instruction sets. And they likely have different memory controllers and caches sizes. I think we can say that Intel is pretty darn good an running AnTuTu, but that's all that graph says.
Java Android apks run just fine on Medfield.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
1) Massive increase in die area for units that translate the rotten x86 ISA to the internal RISC one.
2) Massive power usage by that translation block
3) Massive IP costs for everything that makes x86 'special' (special in the short-bus sense)
4) Massive coding inefficiency overhead for having to control the true internal RISC ISA with code written to the x86 ISA (usually emitted by a compiler, of course)
5) Massive cost of supporting multiple overlapping compute models such as x87, mmx, sse, sse2, blah, blah, blah...
6) Massive cost to support stupid number of obsolete and legacy instructions that nobody care about but still need to perform well to avoid performance regressions on old binaries
When all you have is a hammer, every problem starts to look like a thumb.