On Wed, 2009-02-04 at 15:00 +0100, Kevin Kofler wrote:
Callum Lerwick wrote:
> Going -O3 rather than -O2 is going to make a bigger difference than
> anything else. If you want to improve performance, you need to run
> profiles, locate performance critical bits of code, figure out if -O3 is
> beneficial, and/or write some hand tuned assembly/intrinsic code.
>
> Not to mention, the biggest performance problem on modern processors is
> memory. Minimizing cache thrashing is way more important than what
> instructions you use. Optimize data structures before code.
That's actually an argument for investigating -Os, not -O3.
I don't think code size is what's making Firefox eat up 1gb RAM. But
defaulting to -Os, and using -O2/-O3 on "hot" libraries and such might
not be a bad idea.
It's the most basic rule of optimization. 90% of your runtime is in %10
of the code. Optimize that %10 of the code, and forget the rest. It's
wasted effort.
http://en.wikipedia.org/wiki/Amdahl's_law