[cs branch] how to start compile server?

Mike Stump mrs@apple.com
Fri Aug 29 11:18:00 GMT 2003


On Thursday, August 28, 2003, at 03:52 PM, Ian Lance Taylor wrote:
> Make the code that is in gcc as simple as possible--to me
> that means use stdin/stdout rather than any networking code.

I see where you're going...  Unfold gcc -server out of gcc.c/toplev.c, 
put it into a frontend that is short small and sweet that just does the 
communications over to the server.  Well, one disadvantage is that this 
would require a extra fork and exec to get to it, where as our scheme 
doesn't and with a fork and exec it would be about 3.5 faster, but 
without the fork and exec we'd run 7x faster.  So, we'd have to be 
willing to give up, upto 2x, to be clean in this way.

Now, since the only reason we are doing the compiler server project, is 
compilation speed, giving up 2x, is something I don't want to do.  In 
fact, I can get 15x enhancement over the 7x, if I get rid of the 
existing fork/exec.  So, in general, I want to go in the opposite 
direction.  I want the 110x speedup.  The performance numbers above are 
the marginal costs of processing a file that just includes 
Carbon/Carbon.h and otherwise doesn't have any code.  Carbon.h is about 
80k lines of code.



More information about the Gcc mailing list