comp.lang.ada
 help / color / mirror / Atom feed
From: Ehud Lamm <mslamm@mscc.huji.ac.il>
Subject: Re: Code size of Ada ? was Re: Ada95 Strengths/Weaknesses.
Date: 1999/09/30
Date: 1999-09-30T00:00:00+00:00	[thread overview]
Message-ID: <Pine.A41.3.96-heb-2.07.990930154826.68392B-100000@pluto.mscc.huji.ac.il> (raw)
In-Reply-To: 7svmrk$tkl$1@nnrp1.deja.com

On Thu, 30 Sep 1999, Robert Dewar wrote:

|Now of course if you use high level constructs in Ada that have
|no analogy in C, you will pay a price. But that's always the
|case, programming at a higher semantic level almost always
|(not always, but almost) costs in space and time (if you don't
|like this, you can always write in machine language and save
|lots of time and space over high level languages like C :-)
|

I'd like to respond to this, even though it is a little off topic, even
for this roving thread. I think the "almost always" claim is an
overstatement - as I am sure Robert knows. 
Today's processors (esp. RISC, superscalar, bredictive brancing etc.) have
many features that make writing good machine code for them quite hard.
Good optimizing compilers, many times, outperform all but the most expert
of programmers. Now surely, a programmer who fails to use the right
compiler switches will also fail to produce good machine code by hand.
Hand tuning machine code is hard. The abstraction mechanisms of HLL help
you think more clearly about the actuall problem to be solved - getting to
a better algorithm - and with the aid of a good compiler, tend to produce
better results.
(Not to mention all the other benefiets: less bugs, easier maint. etc.)

In most cases I've seen sending someone to code in machine language (or
let's be more realistic - Assembly language), won't bring faster programs
- UNLESS that person has a verey good knowledge of how things really work
in the first place.

I had a student once, who always insisted on using shift (in his C code)
instead of multiplication, when multiplying by two. I'll let you guess
which C code produced faster object code, what optimization did (not to
mention some funny run time checks I saw on one compiler...). The only way
to convince him that (a) a negligable speed increase is not worth the
obsufication and that (b) there isn't any speed increase anyway was to
examine the assembly listing from the compiler. 
Alas a week later he had a new clever idea. 
I have a feeling he will never "get it."

I wouldn't bet on Assembly, unless knowing the exact problem and
programmer invovled.

Ehud Lamm mslamm@mscc.huji.ac.il
http://purl.oclc.org/NET/ehudlamm <== My home on the web 
Check it out and subscribe to the E-List- for interesting essays and more!







  parent reply	other threads:[~1999-09-30  0:00 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-09-27  0:00 Ada95 Strengths/Weaknesses the middleman
1999-09-27  0:00 ` Steve Doiel
1999-09-27  0:00 ` J. David Bryan
1999-09-27  0:00 ` Marin David Condic
1999-09-27  0:00   ` Hyman Rosen
1999-09-28  0:00     ` Ed Falis
1999-09-28  0:00       ` Hyman Rosen
1999-09-28  0:00         ` Ed Falis
1999-09-28  0:00     ` Robert Dewar
1999-09-28  0:00       ` Preben Randhol
1999-09-28  0:00         ` bill
1999-09-27  0:00           ` Aidan Skinner
1999-09-28  0:00           ` Steve Doiel
1999-09-28  0:00           ` Larry Kilgallen
1999-09-28  0:00           ` Preben Randhol
1999-09-28  0:00   ` Preben Randhol
1999-09-27  0:00 ` David Starner
1999-09-28  0:00   ` Robert Dewar
1999-09-28  0:00     ` David Starner
1999-09-29  0:00       ` Robert A Duff
1999-09-28  0:00     ` David Starner
1999-09-28  0:00       ` Robert Dewar
1999-09-28  0:00         ` Ray Blaak
1999-09-28  0:00   ` Robert Dewar
1999-09-28  0:00     ` Code size of Ada ? was " Alfred Hilscher
1999-09-28  0:00       ` Gautier
1999-09-28  0:00       ` David Botton
1999-09-29  0:00       ` Robert Dewar
1999-09-29  0:00         ` Larry Kilgallen
1999-09-29  0:00           ` Alfred Hilscher
1999-09-29  0:00             ` Robert Dewar
1999-09-30  0:00               ` Alfred Hilscher
1999-09-30  0:00                 ` Robert Dewar
1999-09-30  0:00                   ` tmoran
1999-09-30  0:00                   ` Ehud Lamm [this message]
1999-09-30  0:00                     ` Robert Dewar
     [not found]                       ` <7t2e1l$lqt2@ftp.kvaerner.com>
     [not found]                         ` <37F91D6E.58685CFE@mitre.org>
     [not found]                           ` <7tf7uo$h2b$1@nnrp1.deja.com>
     [not found]                             ` <37FBA978.A86762F1@mitre.org>
1999-10-18  0:00                               ` Robert Dewar
1999-10-19  0:00                                 ` Code size of Ada ? Robert I. Eachus
     [not found]                           ` <7tf7uo <37FBA978.A86762F1@mitre.org>
     [not found]                             ` <5OkO3.2$1e.659@typhoon.nyu.edu>
1999-10-19  0:00                               ` Code size of Ada ? was Re: Ada95 Strengths/Weaknesses Robert I. Eachus
1999-09-30  0:00                 ` Gautier
1999-09-30  0:00                   ` Robert Dewar
1999-09-30  0:00                   ` Robert Dewar
1999-09-30  0:00                   ` Robert Dewar
1999-09-29  0:00             ` Gautier
1999-09-29  0:00               ` Ed Falis
1999-09-29  0:00                 ` Gautier
1999-09-29  0:00                 ` tmoran
1999-09-30  0:00               ` Robert Dewar
1999-09-29  0:00             ` Ted Dennison
1999-09-29  0:00           ` Robert Dewar
1999-09-29  0:00           ` Robert Dewar
1999-09-29  0:00         ` Alfred Hilscher
1999-09-29  0:00           ` Robert Dewar
1999-09-30  0:00             ` Alfred Hilscher
1999-09-30  0:00               ` Gautier
1999-09-30  0:00               ` Robert Dewar
1999-09-28  0:00     ` GNAT listing file default names (was: Ada95 Strengths/Weaknesses) Larry Kilgallen
1999-09-28  0:00       ` Gautier
1999-09-29  0:00         ` Robert Dewar
1999-09-29  0:00       ` Robert Dewar
1999-09-29  0:00         ` Larry Kilgallen
1999-09-29  0:00           ` Robert Dewar
1999-09-29  0:00             ` Larry Kilgallen
1999-09-30  0:00               ` Robert Dewar
1999-09-28  0:00     ` Ada95 Strengths/Weaknesses David Starner
1999-09-28  0:00       ` Gautier
1999-09-28  0:00         ` Ed Falis
1999-09-28  0:00           ` David Starner
1999-09-29  0:00           ` Robert Dewar
1999-09-28  0:00         ` David Starner
1999-09-29  0:00           ` Robert Dewar
1999-09-28  0:00       ` p.obry
1999-09-28  0:00         ` David Starner
1999-09-28  0:00           ` Richard D Riehle
1999-09-28  0:00       ` Robert Dewar
1999-09-28  0:00       ` Robert Dewar
1999-09-28  0:00         ` David Starner
1999-09-29  0:00           ` Robert Dewar
1999-09-30  0:00         ` Pragma (was Re: Ada95 Strengths/Weaknesses.) Preben Randhol
1999-09-30  0:00           ` Preben Randhol
1999-09-28  0:00       ` Ada95 Strengths/Weaknesses Ted Dennison
1999-09-28  0:00         ` Simon Wright
1999-09-28  0:00   ` the middleman
1999-09-28  0:00 ` Geoff Bull
1999-09-29  0:00   ` the middleman
1999-09-29  0:00     ` Robert A Duff
1999-09-28  0:00 ` Geoff Bull
replies disabled

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