This is the mail archive of the
mailing list for the GCC project.
Re: [cs branch] how to start compile server?
- From: Mike Stump <mrs at apple dot com>
- To: Ian Lance Taylor <ian at airs dot com>
- Cc: Per Bothner <per at bothner dot com>, GCC Mailing List <gcc at gcc dot gnu dot org>
- Date: Thu, 28 Aug 2003 17:54:14 -0700
- Subject: Re: [cs branch] how to start compile server?
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.