comp.lang.ada
 help / color / mirror / Atom feed
From: gab@rational.com (Greg Bek)
Subject: Re: What happens to DEC Ada?
Date: 8 Aug 2001 12:24:38 -0700
Date: 2001-08-08T19:24:38+00:00	[thread overview]
Message-ID: <afb6d339.0108081124.4071a24d@posting.google.com> (raw)
In-Reply-To: 9km9bd$dg7$1@nh.pace.co.uk

The DEC Ada smart compilation mechansim was based on the
research into compilation signatures by W Tichy (spelling?),
of RCS fame.

The mechansims that Rational Apex uses are also based on
that research, although the two different implementations
do differ.

Interestingly in the original paper (my copy has long since
dissapeared) Tichy thought that the technique would be most
appropriate for C and Pascal, he thought that it had little
relevance to Ada (at least that's how I remember it).  The
only two commercial implementations of it that I'm aware of
were the above two Ada compilers.

I'm suprised to find GNAT faster than Apex for a really
large set of source files.  My own experience is that for
a large program Apex is usually 20% - 50% faster to
compile a system from scratch.  Now the definition of "large"
for me is at least 20KSLOC.  Apex is not a very fast compiler
of hello_world.

Our experience is that the stored representation (DIANA) of the 
already compiled units does have a significant impact on 
the compilation performance of units that follow.  But as
people have pointed out, building that representation and
then using imposes an overhead.

And when it comes to recompilation, I'm in no doubt about
the benefit of the DIANA.  Sure it takes time to read, but
the ability of the compiler to compare change sets of the
underlying declaration signatures means that for many dependent 
units the compiler doesn't even need to recompile them.  For some
class of changes to specifications the compilation system
knows that no dependent units could have been affected so
there is no recompilation at all of any dependents.

But situations differ, so the usual "your mileage will vary"
disclaimer applies.

Greg

"Marin David Condic" <dont.bother.mcondic.auntie.spam@acm.org> wrote in message news:<9km9bd$dg7$1@nh.pace.co.uk>...
> Well, 20,000 files certainly qualifies in my mind as "pretty large". That's
> an unusual sized project - I'll bet that of all the Ada projects in all the
> world, that may rank in say the top 5%? It certainly isn't center of the
> bell curve.
> 
> Obviously in a case like that, minimizing recompilation is a noble goal.
> However, I'd suspect that there are cases where it takes more time to try to
> reduce the number further than to simply take the hit & recompile. Once
> you've gone to the effort of scanning the file to determine if it *really*
> needs to be recompiled, you probably should just go ahead and recompile it.
> (Maybe a smart editor and a project database could spread the load to
> edit-time rather than compile-time? But that would start me haranguing on
> how wonderful it would be for Ada to have a really spiffy IDE with
> seamlessly integrated tools, etc. :-)
> 
> And of course usually the less expensive option is to apply faster hardware.
> Depends on the environment you work in. I once worked for a defense
> contractor in New Jersey that did lots of cost-plus projects. Engineers
> spent huge amounts of time in line waiting to xerox stuff because there was
> only one available xerox machine. "Buy More" seems the obvious answer.
> However, an engineer's time on a cost-plus contract was making money. A
> xerox machine was a capital expenditure that couldn't be billed back
> entirely to the government. So I could imagine situations in which it would
> be more profitable to make the engineers wait for massive recompiles - or
> laboriously figure it out by longhand. :-)
> 
> MDC
> --
> Marin David Condic
> Senior Software Engineer
> Pace Micro Technology Americas    www.pacemicro.com
> Enabling the digital revolution
> e-Mail:    marin.condic@pacemicro.com
> Web:      http://www.mcondic.com/
> 
> 
> "Wes Groleau" <wwgrol@sparc01.ftw.rsc.raytheon.com> wrote in message
> news:3B6B04F0.63E9602B@sparc01.ftw.rsc.raytheon.com...
> >
> > We have about 20,000 Ada files, many of them VERY large,
> > and if ALL are obsolete (forced to be), we can code all
> > in ten hours on ONE processor with Apex.  Faster with
> > GNAT.  When only a few hundred are obsolete, Apex takes
> > longer to figure out which ones than it does to actually
> > compiler them.
> >
> > --
> > Wes Groleau
> > http://freepages.rootsweb.com/~wgroleau



  reply	other threads:[~2001-08-08 19:24 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-07-31 14:59 What happens to DEC Ada? Adrian Hoe
2001-07-31 15:47 ` Ted Dennison
2001-07-31 17:33   ` Larry Kilgallen
2001-08-02 20:55   ` Corey Ashford
2001-08-02 21:02     ` Ted Dennison
2001-08-02 23:29       ` Larry Kilgallen
2001-08-03 13:42         ` Ted Dennison
2001-08-13 13:19       ` Charlie McCutcheon
2001-08-13 13:15   ` Charlie McCutcheon
2001-07-31 16:13 ` Thierry Lelegard
2001-08-08  1:05   ` Charlie McCutcheon
2001-08-01  7:35 ` Chris Miller
2001-08-03  8:55   ` Gautier
2001-08-03 12:11   ` Larry Kilgallen
2001-08-03 11:31     ` nicolas
2001-08-03 15:16       ` Larry Kilgallen
2001-08-03 14:26         ` nicolas
2001-08-03 15:35           ` Larry Kilgallen
2001-08-03 14:42             ` nicolas
2001-08-03 19:35             ` Robert Dewar
2001-08-04 11:46               ` Simon Wright
2001-08-03 19:25           ` Robert Dewar
2001-08-03 19:29           ` Robert Dewar
2001-08-06  1:48       ` brentcarnellis
2001-08-06  8:12         ` nicolas
2001-08-06 14:05           ` Gautier
2001-08-06 14:23             ` nicolas
2001-08-07  4:07           ` brentcarnellis
2001-08-03 19:00     ` Robert Dewar
2001-08-03 19:27       ` Marin David Condic
2001-08-03 20:09         ` Wes Groleau
2001-08-04  2:12           ` Robert Dewar
2001-08-06 14:24           ` Marin David Condic
2001-08-08 19:24             ` Greg Bek [this message]
2001-08-10  1:13               ` Robert Dewar
2001-08-14 19:53               ` Wes Groleau
2001-08-08  1:06 ` Charlie McCutcheon
  -- strict thread matches above, loose matches on Subject: below --
2001-08-08 20:12 Gautier Write-only-address
replies disabled

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