[distcc] PCH Headers and distcc (again!)

Jamie Kirkpatrick jkp at kirkconsulting.co.uk
Wed Jun 11 07:12:56 GMT 2008

Just to chime in:

I still think PCH header support is essential.  The problem is for projects
that rely on them to a high degree to get decent compilation speeds
already.  If they disable PCH support and enable distcc, they then may not
gain anything overall until adding maybe two equally powered boxes (in my
experience).   I understand that pump mode will help, but a combination of
both would be most desirable.

So the question is: is there a simple path to migrate this patch to the new
code?  Is the approach approved of?  Does anyone have better ideas?  Sascha:
if they do agree to it being ported, can you do so?

I'll do what I can to help but I think it would probably be a lot quicker
for someone who knows this code better than me.



On Tue, Jun 10, 2008 at 10:35 PM, Fergus Henderson <fergus at google.com>

> In response to Jamie Kirkpatrick and Sascha Demetrio's thread on
> precompiled headers, I wrote the following reply in private email.  Now that
> distcc 3.0 is public, I'm copying it back to the public list.
> I wrote:
>> You may be interested to know that Google has been doing a lot of work on
>> distcc and we're about to make our work public. We have some improvements to
>> distcc that eliminate the local preprocessing bottleneck and which may help
>> a lot in the same sort of situations where PCH's help. Perhaps you would be
>> interested in beta-testing it?
> Jamie Kirkpatrick replied:
>> Boy am I glad I started the thread now!  I'd love to have a play with what
>> you have...but can you elaborate on how compatible it is with PCH at
>> present?  You say you can offlload preprocessing...how is this done?  Will
>> modifications still be required for PCH usage?  More details welcome!
> I replied:
>> Distcc-pump mode has a quick analysis pass that determines which header
>> files are needed, and then sends all of the needed header files to the
>> server for preprocessing and compilation.
>> It doesn't support PCH at all, so you may still want to add PCH support.
>> But it might be fast enough that you don't need PCH support so much.
> Jamie Kirkpatrick replied:
>> With regard to PCH, sounds like it shouldnt be hard to add except that
>> each client machine would have to recognise that a PCH was required and
>> either build it itself, or just have the built PCH pumped to the client?
>> Does that sound feasible?  I find PCH's speed things up massively with our
>> code so I think its still going to be required.
>> Any thoughts on how you see it being implemented most welcome.
> I replied:
>> The distcc 3.0 include server, which simulates cpp's search for header
>> files, would need to be modified to handle the -fpch option and to search
>> for precompiled headers in that case.
>> Also, because the PCH files are large, you might need to do caching on the
>> server to avoid using up too much network bandwidth for retransmitting the
>> PCH file for every compilation.
> --
> Fergus Henderson <fergus at google.com>

Jamie Kirkpatrick
07818 422311
-------------- next part --------------
HTML attachment scrubbed and removed

More information about the distcc mailing list