[distcc] New GCC option for improving distcc build performance
Ollie Wild
aaw at google.com
Mon Jul 30 19:08:34 GMT 2007
I've just added a new GCC option (cf.
http://gcc.gnu.org/viewcvs?view=rev&revision=127066) which improves
distcc build performance by implementing a directives-only
preprocessing mode. Starting with GCC 4.3, executing
distcc /usr/bin/gcc -fdirectives-only [OPTIONS]
will cause the local preprocessor to execute preprocessing directives
but defer macro expansion and other preprocessing operations to the
remote build servers. This results in about a 30% decrease in overall
compilation time.
A more detailed description can be found at
http://gcc.gnu.org/ml/gcc-patches/2007-02/msg01098.html.
There is one caveat. This patch does not work with Tim Janik's #line
pathnames patch (http://www.gtk.org/~timj/patches/), as the processor
it implements cannot deal with the partially preprocessed source
generated by the -fdirectives-only option. The symptom is a bunch of
warnings like:
line-map.c: file "some/file/name.h" left but not entered
GCC versions newer than 2.95 no longer require Tim's patch.
Feel free to try out the latest GCC trunk and send any feedback to me.
I am not on the distcc mailing list, so please cc me on any replies.
Ollie
More information about the distcc
mailing list