Re: [2.6 patch] add a config option for -Os compilation

From: Ihar 'Philips' Filipau
Date: Sun Oct 19 2003 - 11:06:24 EST


Martin J. Bligh wrote:

But if someone with a small cache would actually *measure* the damned thing, I'd be more impressed ... I've never seen that, but perhaps
I just missed it.

Point is the same either way though ... we shouldn't unconditionally
optimise for *anyone's* system. If it's faster on all systems that anyone
can be bothered to measure, great. If it's faster on some, and slower on
others, a config option seems more appropriate, defaulting to the majority
of users.


The thing is, that in fact kernel optimization is not that important.

The goal of kernel is to provide framework for applications to the job well. I wasn't doing any kernels measurements - since kernel docs are saying that -O2 is the standard. And it is really hard to measure kernel only perfomance. (And it is rather pointless - I'm not going to sell linux kernel ;-)))

But indeed I was testing my application on embedded system with 16K L1 cache. Results were pretty predictable: gcc 2.95.3 + -Os was giving some (around 2-3%) performance improvements, while 2.95.3 + -O[23] and 3.2.3 with any optimization were giving aprox. the same times. (App is bloated with third-party libraries, C++ and threads. Save God I have killed all exceptions - they were really really really slow on target system.)

But on other side - since embedded systems are not that overclocked as high-end toys - cache miss is not that painful. As of docs, NatSemi Geode@266MHz cache miss costs exactly 266/66 == 4 cycles.

--
Ihar 'Philips' Filipau / with best regards from Saarbruecken.
--
"... and for $64000 question, could you get yourself vaguely
familiar with the notion of on-topic posting?"
-- Al Viro @ LKML

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/