comp.lang.ada
 help / color / mirror / Atom feed
From: dewar@cs.nyu.edu (Robert Dewar)
Subject: Re: Gnat 2.06 Ada95 (unix) File format????
Date: 1996/06/23
Date: 1996-06-23T00:00:00+00:00	[thread overview]
Message-ID: <dewar.835538630@schonberg> (raw)
In-Reply-To: m23f3p3vtg.fsf@devo.ridgecrest.ca.us

Ronald Cole said:

  Too late...  Robert has already declared that 3.05 is a piece of shit
  and 3.06 will be here next week.  If Walnut Creek were a respectable
  company, they would scrap all their current 3.05 CDs and immediately
  repress them when 3.06 comes out...

I guess Ronald did not read my message carefully (not too surprising :-)
In fact 3.05 is a big improvement on 3.04, and it was precisely to catch
the Walnut Creek release that we put out 3.05, and the vast majority
of GNAT users, including likely nearly all those getting GNAT from the
CD ROM will be completely unaffected by the performance problem.

Even in the case of serious production use of GNAT, most users will be
unaffected by the performance issue in GNAT. As I described in my earlier
message, the change we made in this area did indeed fix a functional bug,
but it fixed it at the cost of performance for a certain class of programs
(those that pass large records, as opposed to pointers to records).

There is no comletely clean fix to this problem, given that we would like
to use the C convention as the default for Ada. It just turns out that Ada
programmers are much more likely than C programmers to pass large records.
Note that in particular, if 3.05 is a "piece of shit" because of this
behavior, then *all* C compilers are also a "piece of shit", since the
ANSI C standard *requires* the worrisome behavior (copying all records
when they are passed as value parameters).

As I described in my previous note, this is enough of a peformance problem
for a certain small fraction of Ada programs (e.g. those using bounded
strings and passing them by value), that for 3.06 we have decided to abandon
the absolute guarantee of Ada-C callings sequence compatibility by default
for this particular case.

There is certainly no point in Walnut Creek worrying about waiting for 3.06,
and we already discussed this point. The only reason we are putting out a
3.06 fairly soon is to address the needs of what turns out to be a rather
small number of affected users. Indeed, perhaps my original message was
too arlamist, since only a small handful of users have noticed the
performance problem (which can show up either as increased stack usage,
or increased execution time), and we could have simply dealt with these
users individually, but it seemed appropriate to send out a warning, even
if it is helpful only to a small number of people.

Ronald Cole said

 "I wonder if Robert has arranged to get a kick-back on the subscription
  arrangement...  It seems that he's turning out substandard GNAT
  releases every few weeks now (instead of every month or so, like the
  good old days)."

Well I am not sure Ronald increases his credibility with such accusations,
and they probably do not even need answering, but just to prevent any
possible confusions (new readers of newsgroups are not always familiar
with the colorful characters inhabiting comp.lang.ada), of course neither
I nor ACT get any kick back or royalty of any kind from Walnut Creek. On
the contrary, we contribute our time to work with them to synchronize
releases.

Furthermore, Walnut Creek charges a very modest fee for this CD ROM, hardly
enough to accomodate kick backs :-) I am certainly happy to recommend the
Walnut Creek CD ROM to Ada users, they do an excellent job of updating it
frequently, and we always have good interactions with that operation in
terms of planning release schedules. So if you are looking for GNAT on
CD ROM, this is definitely the best choice. If you get the latest CD ROM
from Walnut Creek, you may not be absolutely at the latest release of GNAT.
The only way to achieve that is FTP. But you will be very close to the latest.

Current plans are as follows. SGI will ship the equivalent of 3.05 as their
new manufacturing release, but with a patch to deal with the record passing
problem (basically they will return to 3.04 behavior for this particular
problem). They will number that release 3.06.

To avoid any confusions, we will skip 3.06 at ACT and our next release
which fixes the record problem, and contains other new features and fixes,
including the new handling of generic messages, will be called 3.07 (we
are reserving the move to 4.xx for the point when we validate against
ACVC 2.0.1 on at least one target). We will start the normal release
cycle on this version soon (which means about two weeks of customer
testing, then the public release).

For anyone running into the performance problem on 3.05, the work around
is the same as it would be in C, pass a pointer to the record instead of
the record itself.

Robert Dewar
Ada Core Technologies





  parent reply	other threads:[~1996-06-23  0:00 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-06-12  0:00 Gnat 2.06 Ada95 (unix) File format???? Mike Ibarra
1996-06-12  0:00 ` Robert Dewar
1996-06-12  0:00 ` Samuel Tardieu
1996-06-12  0:00 ` Peter Hermann
1996-06-15  0:00 ` Ronald Cole
1996-06-15  0:00   ` Robert Dewar
1996-06-15  0:00   ` Brian Rogoff
1996-06-15  0:00   ` James E. Hopper
1996-06-21  0:00     ` Ronald Cole
1996-06-22  0:00       ` George Tracey
1996-06-23  0:00       ` Robert Dewar [this message]
1996-06-27  0:00         ` Peter Hermann
1996-06-28  0:00         ` Fergus Henderson
1996-06-23  0:00     ` Ronald Cole
1996-06-23  0:00       ` Robert Dewar
1996-06-24  0:00     ` Ronald Cole
1996-06-25  0:00     ` Free support for old Gnat versions (was: Gnat 2.06 Ada95 (unix) File format????) Theodore E. Dennison
1996-06-25  0:00     ` Ronald Cole
     [not found]       ` <31D1368D.167EB0E7@escmail.orl.mmc.com>
1996-06-28  0:00         ` Robert Dewar
1996-06-28  0:00     ` Gnat 2.06 Ada95 (unix) File format???? Ronald Cole
1996-06-15  0:00 ` Ronald Cole
1996-06-15  0:00   ` Robert Dewar
1996-06-20  0:00     ` Michael Feldman
1996-06-16  0:00 ` Ronald Cole
1996-06-17  0:00 ` Jim Kingdon
1996-06-19  0:00 ` Ronald Cole
1996-06-20  0:00   ` Robert Dewar
replies disabled

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