Re: -Os versus -O2

david
2007-06-25T02:18:54Z

On Mon, 25 Jun 2007, Adrian Bunk wrote:

> On Sun, Jun 24, 2007 at 09:34:05PM -0400, Jeff Garzik wrote:
>> Adrian Bunk wrote:
>>> The interesting questions are:
>>> Does -Os still sometimes generate faster code with gcc 4.2?
>>> If yes, why?
>>
>> Smaller code can mean fewer page faults, fewer cache invalidations, etc.
>>
>> It's not just a matter of compiler code generation, gotta look at the whole
>> picture.

the picture gets even murkier when you consider that even if neither
option overflows the cpu cache the one that takes more space in the cache
leaves less space in the cache for the userspacde code that the system is
actually there to run.

> Sure, but my point is that if the kernel is considered special and the
> best optimization for the kernel is therefore between -Os and -O2, we
> should try to find this point of best optimization.
>
> This should address Arjans point that -Os might not be best choice for
> best performance (and it's actually our fault if gcc generates stupid
> but small code when we use -Os).

what can be done to find the horribly bad but small code among the "it's
smaller and would be less efficiant if you didn't consider the cache"
majority?

David Lang