[distcc] distcc with cc1

Dara Hazeghi dhazeghi at yahoo.com
Sun Mar 16 04:18:38 GMT 2003


> > 
> > In short the process would have to be:
> > preprocess on local machine.
> > compile to assembly remotely.
> > assemble locally
> > link locally.
> Sorry, I don't understand what the difference is in
> this context
> between running cc1 and running 'gcc -S'.

Sorry, I wasn't being very clear. As I discovered,
cc1, quite sensibly won't accept the -S option.
Unfortunately, if I invoke distcc directly on cc1
(with a preprocessed file), distcc (erroneously)
determines that it can't do the job remotely. If I
supply -S, it'll do it remotely, like I want, but cc1
doesn't accept -S, so it bombs anyway.

Not a big problem of course. I simply created a
wrapper for cc1 to get rid of '-S' and things seems to

I did a few tests (just with modified makefile) to see
if it'd be worth my effort. Seems like in the right
case, it would be very helpful. I with 8 idle
x86/linux boxes, I get a speedup factor of almost 6!

I think modifying distcc would probably be easier than
using my own wrapper (particularly since I'm lazy, and
mucking around with gcc command lines can get
complicated). I'm rather a beginning programmer, so
any suggestions of where to start would of course be
appreciated ;-) Thanks,


links 0.9.8:
gcc -O2 -g:

firebird[1-8] are x86 linux boxes, brno is another

regular makefile

real    1m54.659s

make CC="distcc" DISTCC_HOSTS="localhost"
real    1m55.277s

make CC="distcc" DISTCC_HOSTS="brno localhost"
real    2m24.407s

make CC="distcc" DISTCC_HOSTS="brno localhost"
real    1m15.849s

makefile using cc1:

real    1m59.677s

make -j2 DISTCC_HOSTS="firebird1 localhost"
real    1m17.475s

make -j3 DISTCC_HOSTS="firebird1 firebird2 localhost"
real    0m54.352s

make -j4 DISTCC_HOSTS="firebird1 firebird2 firebird3
real    0m46.065s

make -j8 DISTCC_HOSTS="firebird1 firebird2 firebird3
firebird4 firebird5 firebird6 firebird7 firebird8
real    0m29.044s

Do you Yahoo!?
Yahoo! Web Hosting - establish your business online

More information about the distcc mailing list