comp.lang.ada
 help / color / mirror / Atom feed
From: dewar@merv.cs.nyu.edu (Robert Dewar)
Subject: Re: ADA on the super
Date: 1998/04/20
Date: 1998-04-20T00:00:00+00:00	[thread overview]
Message-ID: <dewar.893122141@merv> (raw)
In-Reply-To: 6hfjmg$hvt@top.mitre.org


<<Gnat has good optimization. Gnat has good code generation
except for packed arrays. Robert is right about bench
marking your application with ALL of your data before
deciding what is fast and what is slow.
>>

Actually, this is probably an over-generalization. Packed array stuff is
notorious, since there are so many special cases, and a given compiler
is likely to do some but not all special casing. GNAT does some packed
array stuff really efficiently, and other stuff is pretty horrible. A
good challenge is Mats Weber's

    x := x(1 .. 31) & x(0);

to do a simple rotate. It would be impressive if a compiler generated
a single rotate instruction for this -- well to be more accurate, it 
would be surprising if such an optimization came out of a general
approach (it is always easy to add one more special case). Certainly
GNAT comes *nowhere* near generating a single instruction for this
particular case.

If you are worrying about efficiency and using packed arrays other than
in the simplest manner (setting and testing bits say), you should definitely
have a look at what the compiler is doing.

One thing that is quite useful in GNAT is the capability of looking at the
generated code at the Ada source level (use the -gnatdg switch). This is
quite informative in a case like this, and much less painful than looking
at assembly language.





  parent reply	other threads:[~1998-04-20  0:00 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-04-17  0:00 ADA on the super Alex Stuebinger
1998-04-18  0:00 ` Robert Dewar
1998-04-18  0:00   ` stuebi
1998-04-19  0:00     ` Greg Lindahl
1998-04-19  0:00     ` Robert Dewar
1998-04-20  0:00       ` Michael F Brenner
1998-04-20  0:00         ` Toon Moene
1998-04-21  0:00           ` Larry Kilgallen
1998-04-21  0:00             ` Toon Moene
1998-04-20  0:00         ` Robert Dewar [this message]
1998-04-21  0:00           ` Andi Kleen
1998-04-21  0:00             ` Robert Dewar
1998-04-21  0:00             ` Larry Kilgallen
1998-04-21  0:00             ` Ada on the super (packed arrays) Michael F Brenner
1998-04-22  0:00               ` Andi Kleen
1998-04-20  0:00       ` ADA on the super K. Mathias
1998-04-20  0:00         ` Acronyms was: " Eugene Miya
     [not found] <6hibr7$kf5$1@bambi.zdv.Uni-Mainz.DE>
1998-04-21  0:00 ` Ada " Richard Toy
1998-04-21  0:00   ` Juergen Pfeifer
1998-04-22  0:00     ` Alex Stuebinger
1998-04-22  0:00       ` Jerry van Dijk
1998-04-22  0:00       ` John M. Mills
replies disabled

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