Excellent. I know about 1 hours worth of reading on linaro so I appreciate your info. And "outnerd" all you want, some here, including me, will be very interested
Haha, well, I've only got a minute before I need to get to work, but here's some information on what the hell all of these "optimizations" are.
Optimize Options - Using the GNU Compiler Collection (GCC)
I used to be much more up on all of this, while in high school I got pissed off at Windows XP and switched exclusively to Gentoo Linux, which is a "compiled from scratch" Linux distro. The Gentoo forums are full of people debating whether or not -Os or -O3 is better and all sorts of fun things like that. Actually quite interesting, but at the end of the day it's difficult to prove one or the other conclusively, because everyone was running different hardware. Now, since we've all got identical Galaxy Nexuses (radios notwithstanding), this is interesting again.
My gut reaction is telling me that -Os (optimize for size) should be the best, as our phones are technically embedded systems, and most embedded systems have limited memories. On the other hand, we're actually running a fully fledged operating system here, and we've got 32 GB of flash to store binaries on, so who cares how big the binaries are?
For reference, part of my day job involves working with Atmel "AVR32" microcontrollers, which are sort of a competitor to ARM, which powers our phones. Atmel uses GCC, just like Android, so all of the optimizations are there. In my work, I'm almost always using -Os because I've only got 64k of flash to store my binary! Of course, there's no OS or other stuff in the way, I'm running on "bare metal" (well, sand, really). A lot of my day job parallels this sort of development. I really should start looking into development work, but between being a full time Electrical Engineer and part time Crossfit Trainer, there's not a lot of time left over...
Ok, off to work...