On Mon, 2006-01-23 at 17:06 +0100, Arjan van de Ven wrote:
> References? Which CPUs? How generalizable are these results?
>
> The fact that some applications might be running faster -Os-compiled,
> doesn't mean much.
there is 2 sorts of speed in this regard
1) local speed, eg the microbenchmark kind of measurement
2) system speed, which is taking an entire OS into account and not just
the local tight loops
Yep.
-Os is undeniably good for 2), most likely to the point where it
beats
performance.
That exactly is the question!
The subsequent one would be: Where is the origin?
For the kernel it's -Os for a long time already, simply
because kernel memory has an even higher price since it's not pagable...
Very
reasonable, but ... even here, -Os means size.
Most benchmarks you find for compilers do 1) without regard for 2)
at
all, and the results can then be very deceptive.
Yep, but the problem would be: How
to benchmark 2) ?
Just some food for thought:I have seen cases, where GCC produced bad
code on certain data central structures with certain optimizations
turned on, which could be significant improved by tweaking optimization
flags, or by tweaking the data structures.
What if such a case happens deeply inside of a frequently used routine
in glibc, glib or gtk (The OP referred to gtk/gnome)?
I would not exclude any possibility, here.
Ralf