comp.lang.ada
 help / color / mirror / Atom feed
From: Daniel Thonon <Daniel.Thonon@wanadoo.fr>
Subject: Re: Gnat on OpenVMS
Date: 1999/05/21
Date: 1999-05-21T05:32:30+00:00	[thread overview]
Message-ID: <3744EFE6.79F99405@wanadoo.fr> (raw)
In-Reply-To: 7i19la$2ci$1@nnrp1.deja.com



Robert Dewar wrote:

> In article <7hv83e$t2o$1@front4.grolier.fr>,
>   "Thierry Lelegard" <lelegard@club-internet.fr> wrote:
> > I was forced to look at the generated code because some
> > programs experienced strange Program_Error (not elab pb) and
> > GDB failed when we tried to debug it. So, since I was crazy
> > enough in the past to work with Alpha assembler, I decided
> > to find the pb by reading the .S file. The code is uncredibly
> > unefficient, even with /optim=all: no visible instruction
> > rescheduling (critical issue on Alpha), "strange" usage
> > of registers and memory, redundant branches, etc. I have
> > often looked at GEM-generated code in the past, optimized
> > gnat code looks like non-optimized gem code.
>
> From this description it is clear that you are looking
> at unoptimized GNAT code rather than optimized code. Indeed
> it is the case that -O0 in gcc produces very inefficient
> code. When you tell gcc not to optimize your code, it really
> believes you, and does not do even the most elementary
> optimizations. In addition there is no scheduling at all
> in this mode.

I also looked at the code generated by gnat on Digital UNIX (with
different -O levels and chip dependant optimizations) and found the same
kind of problem. For example, just by counting the number of statements
in a loop, I found a ratio of more than 2 between gnat and DECAda. The
GEM code was quite simple to understand, but the gnat code was very
complicated, with several unnecessary jumps, for example.

>
> What we have found in practice is that GNAT execution
> efficiency is overall comparable to DEC ADa 83. For some
> cases of pure computation, GNAT is significantly faster.
> For some tasking and I/O cases, GNAT is slower (the range
> we have seen is 2-1 in either direction, but that is at
> the extreme, most cases are much closer to comparable).

We did not find the same conclusion, either on simple benchmarks or with
our complete application. In some case, gnat is faster, but overall it
is really slower. We allready spoke with ACTE about that, but without
concluding.
--
Daniel THONON (mailto:Daniel.Thonon@grenoble.sema.fr)
Sema Group (http://www.semagroup.com) Division Energie et Industrie
36, chemin du Vieux Chene BP 104 - 38243 MEYLAN Cedex - FRANCE
Tel : (+33) 4 76 41 46 68   Fax : (+33) 4 76 90 08 63





  reply	other threads:[~1999-05-21  0:00 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-05-18  0:00 Gnat on OpenVMS Thierry Lelegard
1999-05-18  0:00 ` Larry Kilgallen
1999-05-19  0:00   ` Gautier
1999-05-19  0:00   ` Robert Dewar
1999-05-19  0:00 ` Robert Dewar
1999-05-19  0:00 ` Daniel Thonon
1999-05-19  0:00   ` Thierry Lelegard
1999-05-19  0:00     ` Larry Kilgallen
1999-05-20  0:00       ` Robert Dewar
1999-05-20  0:00     ` Robert Dewar
1999-05-21  0:00       ` Daniel Thonon [this message]
1999-05-21  0:00         ` Larry Kilgallen
1999-05-19  0:00 ` Robert Dewar
1999-05-21  0:00   ` nickerson
1999-05-22  0:00     ` Robert Dewar
1999-05-24  0:00       ` nickerson
1999-05-24  0:00         ` Robert Dewar
1999-05-25  0:00         ` Larry Kilgallen
1999-05-22  0:00     ` Larry Kilgallen
1999-05-21  0:00 ` nickerson
1999-05-22  0:00   ` Robert Dewar
1999-05-22  0:00     ` Thierry Lelegard
1999-05-22  0:00       ` Larry Kilgallen
1999-05-23  0:00         ` Robert Dewar
1999-05-24  0:00           ` nickerson
1999-05-24  0:00             ` Mike
1999-05-25  0:00               ` Matthew Whiting
1999-05-25  0:00             ` Larry Kilgallen
1999-05-25  0:00               ` Thierry Lelegard
1999-05-27  0:00                 ` Pascal Obry
1999-05-23  0:00         ` Robert Dewar
1999-05-24  0:00           ` nickerson
1999-05-25  0:00             ` Robert Dewar
1999-05-22  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