Why are the Nexus One Linpack scores so much higher than on my phone?
I get all sorts of comments directly to me and I see them posted on many boards. Generally, people want to know why their phone doesn’t show the leap in the Linpack score when they run Froyo that others see on the Nexus One, Droid Incredible, or the EVO 4G. The one word answer: NEON.
After looking into it for a while, I was focusing on what makes the Nexus One so much better than the other phones. On the chip level, I didn’t see it. Then it dawned on me to look at what Google had to say on the matter. Well, it was there in black and white. In their 20 May 2010 Developer’s Blog entry (http://android-developers.blogspot.com/2010/05/android-22-and-developers-goodies.html) they say that people could see a 2-5x speed increase. I think it is pointed out in an entry later in the blog dealing with NDK, which I initially missed: “ARM Advanced SIMD (a.k.a. NEON) instruction support The NEON instruction set extension can be used to perform scalar computations on integers and floating points. However, it is an optional CPU feature and will not be supported by all Android ARMv7-A based devices. The NDK includes a tiny library named “cpufeatures” that can be used by native code to test at runtime the features supported by the device’s target CPU.”
So, I guess this means that NEON is the difference. If your phone’s CPU has it and it’s enabled for JIT, you can expect higher Linpack numbers.
September 6, 2010 - 6:11 AM
So does that mean that the nexus one is faster, ot can simply run linpack faster ?
September 13, 2010 - 10:39 PM
It means that JIT for the Nexus One is optimized and has NEON turned on. Faster is a relative term, it does depend on what you are doing. So, for floating-point arithmetic the N1 does a better job.
September 15, 2010 - 11:17 PM
Sorry,but it seems only multimedia process feature with ARM’s introduce page here http://www.arm.com/products/processors/technologies/neon.php
I don’t know if linpack benchmark could improved so much with this feature enabled.or something else like Jazelle?
Thank you.
September 15, 2010 - 11:20 PM
forgot the link about Jazelle,
http://www.arm.com/products/processors/technologies/jazelle.php
sorry for spam.
September 16, 2010 - 8:36 AM
Hey, thanks for the comment. I’ve been digging deeper and I think you’re right. It’s not just NEON. I’m going to put up a new post with some more info. I think NEON plays a role, just not the only one. As far as Jazelle goes, since JVM is stack oriented and Dalvik is register oriented it appears unlikely that Jazelle will be of much help in speeding up native Android apps.
September 16, 2010 - 8:36 AM
No problem, thanks for the link.
September 19, 2010 - 10:34 PM
So,it’s not the key what Google done to some snapdragon devices.I don’t know if there something different between snapdragon processor and others,for example,Samsung Galaxy S phone’s Hummingbird processor.As I known,even HD2 phone also got a high score with an unofficial Android Froyo system…WTF!
October 12, 2010 - 6:53 AM
Hello, running cat on /proc/cpuinfo shows to me a neon instruction set on a nexus one running on cm6. Nevertheless i’m getting a poor result, about 35 mflops when compared to the top 10 nexus phones, any guess?
October 12, 2010 - 6:55 AM
How can I be notified of comments replies?
January 19, 2011 - 9:39 PM
LOL my samsung vibrant does 87 FPS and only 14 in linpack LOL!
Ridiculous !