comp.lang.ada
 help / color / mirror / Atom feed
From: Geert Bosch <geert@gonzo.sun3.iaf.nl>
Subject: Re: Source files organisation using gnat
Date: 1997/07/06
Date: 1997-07-06T00:00:00+00:00	[thread overview]
Message-ID: <5podbt$sn8$1@gonzo.sun3.iaf.nl> (raw)
In-Reply-To: dewar.868153463@merv


Robert Dewar <dewar@merv.cs.nyu.edu> wrote:
   As to "useless recompilations", actually nothing is uselessly recompiled.
   The internal semantic tree of withed units is reconstructed from source,
   but this is nothing like a full compilation, since the expensive part,
   namely code generation is always skipped for with'ed units.

However many source files are uselessly parsed into a semantic
tree.  When you have a program that uses a large binding, like the
1.2 MB OS/2 API package specifications I use, these will get read
and parsed for every single compilation unit that withs it. The
time spend in parsing these packages specs (8 seconds on my 486DX-100)
tends to be much longer than the actual compilation time. 

The flat nature of these API specifications do lead to big packages,
since splitting them in a hierarchical structure is not meaningful
as you argued a while ago.

So what might be useful is to have some kind of compilation server
that can keep state between compilations and re-use internal datastructures
like parse trees. Of course in that case you may have to worry about
memory management and for example restart the server periodically.

Regards,
   Geert




  reply	other threads:[~1997-07-06  0:00 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-06-30  0:00 Source files organisation using gnat Laurentau
1997-06-30  0:00 ` Robert Dewar
1997-07-01  0:00   ` Samuel T. Harris
1997-07-04  0:00     ` Robert Dewar
1997-07-05  0:00       ` Michael Feldman
1997-07-03  0:00   ` David Haslam
1997-07-03  0:00     ` Robert Dewar
1997-07-09  0:00       ` Robert I. Eachus
1997-07-03  0:00   ` Steve Doiel
1997-07-04  0:00     ` Robert Dewar
1997-07-04  0:00       ` Michel Gauthier
1997-07-04  0:00         ` Robert Dewar
1997-06-30  0:00 ` Robert Dewar
1997-07-01  0:00 ` Michel Gauthier
1997-07-05  0:00   ` Robert Dewar
1997-07-06  0:00     ` Geert Bosch [this message]
1997-07-07  0:00       ` Tucker Taft
1997-07-08  0:00       ` Robert Dewar
1997-07-08  0:00         ` nabbasi
1997-07-08  0:00           ` Robert Dewar
1997-07-01  0:00 ` Geert Bosch
1997-07-02  0:00   ` Source files organisation using gnat: more Laurentau
1997-07-02  0:00     ` Robert B. Love 
1997-07-02  0:00       ` nasser
1997-07-03  0:00     ` Michael F Brenner
1997-07-03  0:00     ` Ian Caldwell
1997-07-01  0:00 ` Source files organisation using gnat Michael F Brenner
1997-07-01  0:00   ` Robert Dewar
1997-07-02  0:00   ` Wes Groleau
1997-07-07  0:00     ` Michael F Brenner
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox