Mail Archives: pgcc/1999/03/09/16:13:18
On Thu, Mar 04, 1999 at 02:37:17PM +0300, Eugene M. Indenbom wrote:
> As I wrote previously gcc-2.7.2.3 generates faster gzip
> than egcs-1.1.1/pgcc-1.1.1 on PentiumPro.
> The slowdown is greater than 10% on decompression operation.
> This can be easily checked if you have RedHat 5.2.
> The shipped gzip is gcc-2.7.2.3 compiled.
>
> After several day of search I finally find out offending
> instruction that slow down gzip compiled with egcs-1.1.1/pgcc-1.1.1
> on PentiumPro 180MHz (132MB RAM) but the result seems crazy to me.
>
> This instruction is:
> andl $255, %eax
> in flush_window (util.c) function body (it is inlined from updcrc)
>
> if you manually replace it with
> movzbl %al, $eax
> this will boost decompression by 20%.
If that is the only problem than we can consider the whole issue "bad luck"
on side of the compiler. This is also one of the problems that got introduced
with the egcs merge. egcs "seems" to be slower in some cases (and faster in
others) than gcc-2.7.2.
That was one of the reasons why I started the egcs benchmark suite (but I
haven't got around making the results public in an easily parseable form)
> And finally if you have Pentium Pro or Pentium II please
> do this check and report result to me.
> I wonder whether I have brain damaged Pentium Pro.
According to the docs there andl shouldn't be very bad. I'm sure its some
parasitic effect that only shows up in an inner loop. In any case, people
should refer to the discussion about improving this case on the egcs list.
--
-----==- |
----==-- _ |
---==---(_)__ __ ____ __ Marc Lehmann +--
--==---/ / _ \/ // /\ \/ / pcg AT goof DOT com |e|
-=====/_/_//_/\_,_/ /_/\_\ XX11-RIPE --+
The choice of a GNU generation |
|
- Raw text -