[distcc] where does preprocessing take place

Jean Delvare khali at linux-fr.org
Sun Jan 30 20:55:10 GMT 2005


Hi Martin,

> > Preprocess <file1.c>             <remote machine>[0]
> > Preprocess <file2.c>             <remote machine>[1]
> > Compile    <file3.c>              localhost[0]
> > Compile    <file4.c>              localhost[1]
> > 
> > does this mean that preprocessing takes place on the remote machine?
> 
> It means file1 will be sent to the remote machine when preprocessing
> is complete.

That's also how I had understood it. One question comes to my mind now
though.

Why do we decide which remote host will get the compilation *before*
preprocessing is finished, rather than after? Different machines may be
available by the time the preprocessing is finished. Looks clear to me
that the current model forces the chosen remote machine to be idle
during local preprocessing. By doing it the other way around, wouldn't
we make a better use of the various available remote machines (unless
local preprocessing has become the bottleneck already)?

Just a question of course, maybe there are reasons why we wouldn't win
anything in doing so, that I didn't see.

Thanks,
-- 
Jean Delvare


More information about the distcc mailing list