Re: nasm over gas?

From: Jamie Lokier
Date: Mon Sep 08 2003 - 11:19:04 EST


Ihar 'Philips' Filipau wrote:
> It will depend on arch CPU only in case if you have unlimited i$ size.
> Servers with 8MB of cache - yes it is faster.
> Celeron with 128k of cache - +4bytes == higher probability of i$ miss
> == lower performance.

Higher probability != optimal performance.

It depends on your execution context. If it's part of a tight loop
which is executed often, then saving a cycle in the loop gains more
performance than saving icache, even on a 128k Celeron.

The execution context can depend on the input to the program, in which
case the faster of the two code sequences can depend on the program's
input too. Then, for optimal performance, you need to profile the
"expected" inputs.

> P.S. Add having good macroprocessor for assembler is a must: CPP is
> terribly stupid by design. I beleive gas has no preprocessor comparable
> to masm's one? I bet they are using C's cpp.

You obviously have not read the GAS documentation.

It has quite a good macro facility built in.

-- Jamie
-
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/