This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

compile server design document


As I've hinted, I have been working for Apple on a "compile server".
The idea is that the compiler when in server mode will re-use trees
from header files.  I've attached a semi-detailed design documnent.
This is in texinfo format (so it can later be merged into gccint.text).
To generate html do: makeinfo --html gcc-server.texi

I'll submit a patch for the first prototype shortly, though note
that this is far from clean enough to check in as is.  Before the
actual server, there is some amount of work in terms of splitting
up compiler initialization into two parts:  one-time initialization,
and per-compilation initialization.  I hope people will work with
me on this.

We're quite exited about this approach.  We think it can lead
to substantial compile-time speed-ups, and possibly other benefits.
A preliminary benchmark suggested that re-using a large set of
header files (the Apple Carbon framework) was over 3x as fast as
normal processing.
--
	--Per Bothner
per at bothner dot com   pbothner at apple dot com  http://www.bothner.com/per/

Attachment: gcc-server.texi
Description: TeXInfo document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]