gcc memory consumption: amd64 v i386

Kris Kennaway kris at obsecurity.org
Sat May 26 20:00:23 UTC 2007


On Sat, May 26, 2007 at 04:19:38PM +0200, Michiel Boland wrote:
> >>Hi. I noticed that compilation of xorg-server on i386 with the new gcc
> >>proceeds normally, whereas compilation on amd64 would crash because the
> >>compiler would consume all memory. The i386 and amd64 boxen have the same
> >>amount of RAM and swap, obviously. And they run, give or take a few hours,
> >>more or less same version of -CURRENT.
> >
> >It does not crash if you have enough swap. I have 2 GB swap and it
> >proceeded fine after some swapping.
> 
> The point I was trying to make (although perhaps not clearly enough) is 
> that there is no reason that a trivial source file takes up such a huge 
> amount of memory to compile. Especially since gcc 3.4.6 does not blow up 
> like that.

Of course there is a reason.  You mean "there is no reason I currently
understand".

Every new version of gcc brings new optimizations.  Typically these
may require additional memory at compile time to produce a space or
time saving at runtime.  That's the trade-off.

Kris


More information about the freebsd-current mailing list