[distcc] PCH Headers and distcc (again!)

Fergus Henderson fergus at google.com
Tue Jun 10 21:35:20 GMT 2008

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>
-------------- next part --------------
HTML attachment scrubbed and removed

More information about the distcc mailing list