Parallel compiling once again...

Roger Merchberger zmerch at 30below.com
Mon Aug 8 15:23:18 PDT 2005


OK, after a post on the LFS mailing list about compile times, I thought I'd 
diddle with parallel compiling once again, centered around the 6.1-2 LFS 
LiveCD.... and I got it to work! I'll build a hint hopefully by the weekend 
(if my life doesn't go too insane again, like it's been for the last 3 
weeks or so) but just for the record...

First, I wanted to get distcc running by hand from 2 computers booted from 
the LiveCD...

System 1: Fujitsu P2120 laptop, Crusoe 933Mhz, 512Meg RAM, 40G HD, booted 
from the LiveCD. This is the "client" or "target" machine.

System 2: Shuttle AMD 2400+ XP, 384Meg RAM, 80G HD, running Windows 2000! 
;-) with a VirtualPC 2004 virtual computer with 160Meg RAM allocated to it, 
with the LFS live CD virtually booted from the ISO file. Despite being a 
virtual LFS boot on Winders, it's still a much faster unit.

Two more different critters on one desk would be tough to find... ;-)

Quickie benchmark, compiling ncurses (from the /sources dir - not thru 
nALFS)...

1) No parallel compiling whatsoever on the Crusoe laptop:
    Real: 5m37.086s
    User: 4m39.951s
     Sys: 0m56.848s

2) Distcc running on both, with the AMD as the "primary go-to system" and 
'-j 5 CC=distcc' as the makefile parallel variable string:
    Real: 2m04.652s
    User: 0m47.847s
     Sys: 0m36.080s

Tack on a few more machines, and this could get fun... ;-)

=-=-=-=-=-=-=

OK, Through some other searching, it seems that both binutils and gcc 
should *not* have any heartburn being parallel compiled. (You still need to 
make sure that CFLAGS & CXXFLAGS are nulled, tho) -- the profiles already 
sport the 'jlevel' variable.

However, the standard environment doesn't "follow thru" so I added it 
manually. In my admittedly very minor testing, Chapter 5 binutils pass 1 
with compiled without abending using the parallel make settings above, much 
more quickly, too! ;-)

Anyway, I just subbed to the LFS-hints list, as I was considering becoming 
the new maintainer for the parallel make hint (tho it's much easier now 
than it was when it was first written) and should I make a separate hint 
for the LFS LiveCD, or just a different subsection of the main hint for 
users of the LiveCD?

Also: would the author of the net-setup script mind if I 'borrowed' it as a 
template for a distcc-setup script? My shell script abilities are legendary 
-- legendarily *bad* that is, and a little 'boost' in the right direction 
would help me immensely. ;-)

I'd like to get it to the point where one can boot 3 or 4 machines from a 
LiveCD, run a few scripts to set up the networking and distcc, start nALFS, 
and have 'em all zooming towards a beautiful new LFS.

Thanks all, and I'll keep ya posted,
Roger "Merch" Merchberger

--
Roger "Merch" Merchberger   | "Profile, don't speculate."
SysAdmin, Iceberg Computers |     Daniel J. Bernstein
zmerch at 30below.com          |




More information about the livecd mailing list