FreeBSD 5.2 v/s FreeBSD 4.9 MFLOPS performance (gcc3.3.3v/sgcc2.9.5)

Alexander Kabaev ak03 at gte.com
Mon Feb 16 14:23:23 PST 2004


On Mon, 16 Feb 2004 16:36:35 -0500
"Juan Tumani" <jtumani55 at hotmail.com> wrote:

> Thanks Matt for picking up on the linker problem.  Patching the kernel
> would, to me, be masking the real problem.
> 
> What other "improvements" does gcc333 have over gcc295 that might
> explain why it's linked products run in a half-fast mode (take twice+
> as long)?
> 
> JT
> 
> 
> >From: Matthew Dillon <dillon at apollo.backplane.com>
> >To: "Juan Tumani" <jtumani55 at hotmail.com>
> >CC: des at des.no, freebsd-hackers at freebsd.org
> >Subject: Re: FreeBSD 5.2 v/s FreeBSD 4.9 MFLOPS performance 
> >(gcc3.3.3v/sgcc2.9.5)
> >Date: Mon, 16 Feb 2004 13:12:15 -0800 (PST)
> >
> >     I'm surprised Bruce hasn't chimed in here yet.  I guess he's
> >     tired of repeating himself.
> >
> >     In 4.9, libcsu, which generates crt1.o (which is the start code
> >     for C programs which the linker links in automatically) has this
> >     line in 
> >it:
> >
> >	    andl    $~0xf, %%esp            # align stack to 16-byte
> >	    boundary
> >
> >     So anything linked with 4.9 is going to align the stack on a
> >     16 byte boundary no matter WHAT the kernel does.
> >
> >     FreeBSD-5 does not have this alignment in its crt1.o because
> >     GCC3 automatically aligns the stack on a per-procedure basis. 
> >     Or at least it is supposed to.  Maybe it's broke?  :-)
> >
> >						-Matt
> >
Quite possibly. I run the same test using the latest GCC snapshot
configured as system compiler and did not see such a massive slowdown.
GCC 3.3.3 wins slightly on most tests and loses only on module #2 of the
flops.c program posted here. 

-- 
Alexander Kabaev


More information about the freebsd-hackers mailing list