comp.lang.ada
 help / color / mirror / Atom feed
From: Nicolas Brunot <n.brunot@cadwin.com>
Subject: Re: WinNT ADA compilers comparison
Date: 2000/07/24
Date: 2000-07-24T00:00:00+00:00	[thread overview]
Message-ID: <397C03F9.AF6DF60F@cadwin.com> (raw)
In-Reply-To: 8lcgbi$gvb$1@front5.grolier.fr

> >But, on a code generator point a view, there is no difference
> >in optimizing from 5s to 1s and from 5ms to 1ms. The first case
> >is most of the time (roughly) a loop of 1000 iterations of the
> >second case in the source code.

I don't completely agree on that. when I talk about optimizing from 5s to 1s, or
from 5ms to 1 ms, this usually concerns completely different code part, and of
course, this optimization must concern the total amount of time that the user is
waiting after his command (and I was talking about software with important GUI
where ease of use of GUI is much more important than time computation to get the
result expected)

> >The quality and speed of the generated code is an instrinsic
> >quality of a compiler. To address the full range of applications,
> >a compiler must make it right. Let me briefly describe two cases
> >I experienced where it made all the difference:

I think that quality and speed of the same compiler can change a lot depending on
the kind of ADA feature and syntax you use.
(simple ADA83 compatible syntax, tasks, tagged type etc ...)
One very good compiler for one purpose can be very bad for another. We
unfortunately had to deal with compiler trying to be excellent in one field
(float computation) and by consequence being very poor in reliability when
interfering with others libraries.
If you are concerned by executable size for example, even with optimization and
strip, for example, we get gnat executable size incredibly huge in comparison
even with old ADA83 compiler (40 Mo instead of 8 Mo !!!)

> >So, yes, the performance of the generated code is not
> >important for hobbyists, educational institutions, GUI
> >software, desktop tools, etc. But, for commercial
> >industrial software products, it is essential.

I don't know what you mean by commercial industrial software, but we develop CAD
and database Oracle application we call commercial (because we sell them) and
industrial (because we try to have an industrial approach of software
developping).
We talked with some people developping in ADA, and obviously we don't have at all
the same needs concerning compiler feature and reliability than people
developping embedded system for example.
For us, the speed of the application (not of code executable ..., that's not
always the same thing)  depends much more on the way you write the application,
than on the code speed generated by the compiler.
Especally in CAD, a good and well thought GUI can help the user win 1000 more
time than a compiler generating 10 times faster code.

What we expect from the compiler is to be reliable, fast to link (more than fast
to compile) and above all, be reliable enough so we don't need support or patches

(We still use an ADA83 compiler and we never had to call suppor not even once in
6 years for about 1 million lines ADA code, and today no ADA95 compiler is good
enough to replace it)
For our applications we absolutely don't care about a compiler generating float
operation twice faster, that would be of absolutely no use for our customers.
But a compiler simple robust with no problem (even if it's not the best generated
code) and fast link, allows us to develop much faster and provide really useful
improvement for the customer.

Nicolas BRUNOT





  reply	other threads:[~2000-07-24  0:00 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-07-20  0:00 WinNT ADA compilers comparison Nicolas Brunot
2000-07-20  0:00 ` Thierry Lelegard
2000-07-20  0:00   ` Lionel Draghi
2000-07-21  0:00     ` Nicolas Brunot
2000-07-22  0:00       ` Thierry Lelegard
2000-07-24  0:00         ` Nicolas Brunot [this message]
2000-07-25  0:00           ` G. de Montmollin
2000-08-02  0:00             ` n_brunot
2000-07-26  0:00           ` Laurent Guerby
2000-08-02  0:00             ` n_brunot
2000-08-02  0:00               ` gdemont
2000-08-03  0:00                 ` n_brunot
2000-08-03  0:00                   ` Brian Rogoff
2000-08-03  0:00                     ` tmoran
2000-08-04  0:00                     ` Robert A Duff
2000-08-15  4:56               ` Robert I. Eachus
2000-08-16  0:00                 ` n_brunot
2000-07-20  0:00 ` tmoran
2000-07-20  0:00 ` Stephen Leake
2000-07-20  0:00   ` Pascal Obry
replies disabled

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