Linaro Android Puts Stock Android To Shame on TI Pandaboard (OMAP4430)

Orange Pi Development Boards

The team at Linaro has done an amazing job at optimizing Android 4.0 for ARM and Bernhard Rosenkränzer, Android Engineer at Linaro among other things, has put all those optimizations together to showcase a demo at Linaro Connect Q2.2012 in Hong Kong with 2 pandaboards:

  • One running Stock Android 4.0.4, the one released by Google (AOSP)
  • One running Linaro Android 4.0.4

Both hardware, android version and benchmark software (oxBench) are the same, and the results are quite amazing with Android Linaro achieving about 60 fps in all 0xBenchmark tests (OpenGL Cube, OpenGL Blending, OpenGL Fog and Flying Teapot) whereas Android stock achieving 30 fps. They selected a benchmark tool that is mainly CPU bound, as they cannot optimize the GPU code since they can only access binary blobs.

Apparently, most of the improvements were possible thanks to toolchain and code optimization (to be able to build) such as using gcc 4.7 and building Android ICS without -fno-strict-aliasing and with -O3 compiler flag (first released in Linaro 12.01). So that means for this particular benchmark, they achieved to double Android performance just by “tweaking” the software. [Important update: A detailed analysis shows the benchmark is somewhat flawed, and it’s a VSync thing that makes Android appears to be twice as fast. In reality the improvements are in the 20 to 30% range, which is still very good with just software optimizations. Bero also notes that 100% speed improvement may still happen in real apps such as 3D games that may also wait for VSync to refresh the screen].

I know you don’t believe me… So have a look at the video below. 🙂 (Source: Charbax)

[Update: If you want to try it yourself and access the toolchain and source, please see Bernhard Rosenkraenzer (Bero) comment below with all the information you need.]

Leave a Reply

47 Comments on "Linaro Android Puts Stock Android To Shame on TI Pandaboard (OMAP4430)"

avatar
  Subscribe  
newest oldest most voted
Notify of
Sander
Guest

So, if this is true and Bero publicizes what he has done, can the CyanogenMod people start using the method and make the CM on my phone twice as fast?

If it is true, I guess Google will be interested too in his method and in hiring Bero?

I say “if this is true”, because “twice as fast” is quite a claim.

Bernhard Rosenkraenzer (Bero)
Guest

@ Sander

You can take a look at the video, and even download the OS images we’ve used to do the benchmark.
Obviously saying we’ve made it “twice as fast” is a bit of an oversimplification.

This particular benchmark (the 3D benchmark included in 0xbench) runs twice as fast on this particular hardware. Other benchmarks (e.g. Sunspider) are “merely” 30% faster, some others are only slightly faster (e.g. GLMark2 – as it’s mostly GPU bound), and it would be possible to craft a benchmark showing that our build is 10 times faster (write a benchmark that uses strcpy, memset and friends heavily, which I’ve actually done, not to show off but to test if our changes are as beneficial as we’re hoping).

CM people can obviously pick up what we’ve done – so can Google, we’ll be submitting the changes to AOSP shortly.

The Linaro toolchain has been out in the open forever, Linux binaries are here, sources are here.

Linaro’s Android builds (that have all the changes required to make use of the Linaro toolchain efficiently) have been around forever, here.

The kernel source we’re using is available here.

The only thing we did for this demo that isn’t in the open yet is a rewrite of the string routines in Bionic, based on Linaro’s Cortex Strings library.

This will be added to our builds shortly, the only reason it isn’t there is that I had to do a bit of sloppy coding in order to get things done for the demo (merging the patchset as it is right now would give Cortex A9 all the improvements shown in the demo, but it would leave ARMv5 users with an unbootable build — but we wanted to show something at the end of the Linaro Connect event). The patchset will go in as soon as I’ve cleaned it up a bit more.

Some press coverage puts me a bit too much at the center of things – it’s not like I single-handedly made things twice as fast. This is the work of Linaro as a whole, I’m just the one who put the various bits and pieces together, merging them all into one usable build. Google would be much better off working closer with Linaro than attempting to hire me or anyone of the others involved off.

GeorgeV
Guest

@ Sander

Will you make the optimization open source, and allow Google to use it in future versions of Android?

alecs
Guest

Bero and his teams certainly deserve an epic thumbs up for this work! Thank you kind sirs for fighting the good fight and making our phones faster. Hope who needs to see/hear this, will.

agross
Guest

“its -O3 the letter, not -03 the number”

Sukumar
Guest

Will this optimisation be applicable to only TI OPMAP porocessors or any ARm device, I mean Qualcomm Snapdragon S2/S3/S4?

trackback

[…] need that Linaro code! Read this! http://www.cnx-software.com/2012/06/…oard-omap4430/ Video on Youtube: […]

trackback

[…] interessant wird es übrigens, wenn man sich die Kommentare unter dem Artikel auf der CNX-Software-Seite durchliest: Dort fragt ein Leser, ob denn der optimierte Code eventuell auch vom CyanogenMod-Team […]

Richie
Guest

@ Sander

Yes, that’s a certainty. The CM team can make the necessary improvements in their current CM9 versions even before Google decides to update it (that is, if they choose to optimize their version with this one)

trackback

[…] .youtube_sc iframe.yp{display:none;}The Adobe Flash Player is required for video playback.Get the latest Flash Player or Watch this video on YouTube.   A Linaro vai enviar as alterações para AOSP, e CyanogenMod para que eles também possam usá-las se quiserem, mesmo antes de o Google o fazer. Você pode assistir no video o “Bero” a falar sobre isso, e também recomendando visitar o link da fonte para ver mais comentários e mais explicações sobre isto.   Fonte: CNX-SOFTWARE […]

Tynen
Guest

This is awesome! Good hack! 🙂 I can’t wait to run this on my Galaxy nexus

agross
Guest

This was a subtle reference to some Gentoo humor from a few years ago.

trackback

[…] into tweaking Google Android to use the gcc 4.7 toolchain. The result is a version of Android that can perform many tasks between 30 and 100 percent faster than the version of Android Google 4.0 Google currently offers through the AOSP (Android Open […]

Marco
Guest

Will this be possible on the terribly slow and buggy LG optimus 2X (dual) with tegra 2?

Eroen
Guest
trackback

[…] make ICS ~30% faster have now been submitted to CM9 gerritHere &#1110&#1109 th&#1077 news article : http://www.cnx-software.com/2012/06/03/linaro-android-puts-h&#1072&#957&#1077 a supply &#959f-androi…Here &#1072r&#1077 th&#1077 list &#959f changed waiting t&#959 b&#1077 approved b&#1091 th&#1077 CM9 […]

trackback

[…] Linaro optimizations Don't know if you guys have seen this or not, but Linaro has made ICS 100% faster in some benchmarks. Do you think these optimizations can come to the Thrive once we get ICS or get CM9 fully working? Linaro Android Puts Stock Android To Shame on TI Pandaboard (OMAP4430) | CNXSoft – Embedded So… […]

Dennis Farr
Guest

http://thiemonagel.de/2010/01/no-strict-aliasing/ explains why you might NOT want this ‘improvement’. I admit to no real knowledge of any of this, except when I heard it went faster I automatically expected to be able to find on Google an instance of why security or quality of code would argue against this

jackie
Guest

@ Bernhard Rosenkraenzer (Bero)

You guys are amazing.

trackback

[…] Reddit und CNX-Software.com| via AndroidPolice.com] […]

asfdd
Guest

Isn’t this like a kick in the head for aosp dev??
aosp dev should hire this team

ed
Guest

great news. will this be possible on Galaxy S (Hummingbird, Cortex-A8)?

trackback

[…] one running Android AOSP and another running Linaro optimization over AOSP.  Linaro manages nearly 60 fps in all benchmarks whereas AOSP struggles at 30 fps. Currently, Linaro is aiming at CPU optimization […]

CSRedRat
Guest

This great performance!

max
Guest

even after clicking “mobile off” at bottom of the page, it still do not switch to destop site.
I’m on dell streak official android 2.2.2 , tried all available browser’s.

Pls fix this issue.

Thanks & Regards

* I’ve never had this problem with charbax’s blog.

trackback

[…] two pandaboards, one running Android AOSP and another running Linaro optimization over AOSP. Linaro manages nearly 60 fps in all benchmarks whereas AOSP struggles at 30 fps. Currently, Linaro is aiming at CPU optimization […]

trackback

[…] for video playback.Get the latest Flash Player or Watch this video on YouTube. Источник: cnx-software.com VN:F [1.9.17_1161]Оценка статьиподождите пожалуйста…Rating: 0.0/10 […]

trackback

[…] video below demonstrates that. Now what exactly did they do to make Android faster? According to CNXSoft, they “used gcc 4.7 and built Android ICS without -fno-strict-aliasing and with -O3 compiler […]

trackback

[…] ARM в Linux и разнообразных открытых приложениях, провели работу по оптимизации производительности Android 4 (Ice Cream […]

trackback

[…] This is part of the Android optimizations discussed here.Linaro Android updated to Android 4.0.4 r2.1.Linaro Android panda-ics-gcc47-tilt-stable-blob build […]

trackback

[…] This is part of the Android optimizations discussed here.Linaro Android updated to Android 4.0.4 r2.1.Linaro Android panda-ics-gcc47-tilt-stable-blob build […]

trackback

[…] it, you could try to overclock the board to 1.8 GHz (it probably voids the warranty…) and run Linaro Android to beat that score with ODroid-X. ODroid-X Quadrant Benchmark Results (Click to […]

trackback

[…] may have seen the demo that shows Linaro Android is 100% faster than Stock Android on TI Pandaboard. Finally, the massive performance improvement was due to another benchmark software (oxBench) that […]