I have a big project for which I implemented precompiled headers. I would also like to be able to work with distcc. According to section 4.12 in google code paper here
gcc version 3.3 includes some performance improvements that make distcc less immediately useful.
One is precompiled headers, as a result of which the internal state of the compiler is unloaded to disk after reading a set of common header files. This is useful for programs that include a large and fixed set of headers, where parsing headers takes most of the compilation time. Distcc can currently support this by placing the .pch status file on the shared file system. A better solution might be added in distcc in the future.
I do not think that using a common file system is a good solution for me. But there are subsequent references to a potential patch to better compile precompiled headers and distccs: https://lists.samba.org/archive/distcc/2008q2/003646.html . This is due to setting DISTCC_PCH on the client (or using the -fpch-preprocess compiler option, see here ) and adding the pch option to DISTCC_HOSTS for servers. I tried this, but it does not work, so I suspect that the patch has not been integrated.
Is there support for precompiled headers in distcc on top of the shared file system? Or any reasonably easy way to get technology to work together?
Update: now I have a situation where I use compilation of precompiled headers for local assembly, and for distcc build I include precompiled header files so that local and distcc assemblies compile the exact same source. With careful selection of precompiled headers, I can get the local debug build about 40% faster than before, and the distcc build only 4% slower. I would like for him to somehow marry the precompiled headers and distcc in order to get an acceleration of, say, 10 or 20%, using distcc assemblies with quite a bit of effort and obsession (assembly acceleration is not my main responsibility and, in addition, the corporate environment. I am limited by what I can do).
gcc precompiled-headers distcc
Tootone
source share