comp.lang.ada
 help / color / mirror / Atom feed
From: dewar@cs.nyu.edu (Robert Dewar)
Subject: Re: next "big" language?? (disagree)
Date: 1996/06/08
Date: 1996-06-08T00:00:00+00:00	[thread overview]
Message-ID: <dewar.834236080@schonberg> (raw)
In-Reply-To: Pine.A32.3.91.960605125414.52816K-100000@black.weeg.uiowa.edu


James Robinson said:

"  I was not implying that Ada executables are slow (although your
complaint is understandable -- I should have said "a language that
allows for a small, fast environment").  I was trying to say that the
environment and compile times for Ada would be big and/or slow, for the
simple reason that the language offers a great deal more support than C
does.  As I have said in this thread I'm sure Ada is just as subject to
efficient compiling and optimizing techniques as other languages are, and
almost as fast as C. :-)
"

That's not a valid conclusion. Fast compilers can be written for any language,
it is simply a matter of whether this is a primary goal or not of the
compiler effort (compared to portability, etc). The fastest compiler for
any language on the PC is the Computer Associates Realia COBOL compiler,
and it is certainly not the case that COBOL is the simplest language.

But compile speeds are of absolute, not relative interest, so as machines
get faster, more and more compilers are fast enough, and speed becomes much
less of an issue. Indeed at Realia, early on, when Realia could compile
10,000 lines/minute on an 8088 PC-1, it was a real competitive advantage
to the competitions 500 lines minute, but later on, when both compilers
got 50 times faster mainly because of faster hardware, the difference
was not nearly so significant competitively.

These days, GNAT on a top of the line SGI machine, using multiple processors,
can compile at a rate of a few hundred thousand lines a minute, which is in
the fast enough category. Now of course not everyone has a 16 processor
power challenge on their desktop, but todays very expensive machine becomes
next years affordable machine, and the year after that's cheap machine.

Technically, it is certainly feasible to write a very fast compiler and
environment for Ada 95. There is no reason why Ada 95 cannot be compiled
just as fast as COBOL [incidentally I should mention that the speed of
Realia COBOL was not achieved at the expense of poor generated code, indeed
it was written in its own language and self-compiled, and at the time I was
involved, generated the fastest code of any compiler for any language for
the (in)famous seive benchmark -- that comparison was carried out by
Phillipe Kahn of Borland, independently of us].

There was a time when concentrating on a really fast Ada compiler would have
made sense, but with modern hardware that becomes much less interesting. In
the case of the GNAT project, it made much better sense to take advantage
of the GCC backend, which is not particularly fast, because the primary
goals are highly efficient code, and ease of porting -- obviously specialized
code generators for spcific machines can be faster than the approach in GCC
using machine description files, but the ease of porting GNAT is one of its
very attractive features -- I think everyone would agree that it is better
to have GNAT on many different systems than a faster compiler that ran on
only one machine [Realia COBOL is *very* {C s[pecific, in fact it has taken ten
years to finally port from a 286 to a 386).

In the case of GNAT, the front end is quite fast (no one has really seen this
yet because we have never issued other than the debugging version of the front
end so far -- that wlil be something that waits for version 4 of GNAT later
this year). The backend however wlil never be Realia-style fast.

But back to the original point, the idea that a C compiler should obviously
be much faster than an Ada compiler because C is simpler is just wrong. Sure,
if everything else were equal, this might be the case, but it is never the
case that everything else is equal -- the difference in speed between 
compilers results from the approach and design of the compiler, not from
the language being compiled.





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

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4p0fdd$4ml@news.atlantic.net>
1996-06-04  0:00 ` next "big" language?? (disagree) Peter Hermann
1996-06-04  0:00   ` The Amorphous Mass
1996-06-04  0:00     ` Robert Dewar
1996-06-06  0:00       ` Ken Garlington
1996-06-12  0:00       ` Help making ada pretty CSC Trusted Systems Group
1996-06-14  0:00         ` Sandy McPherson
1996-06-19  0:00         ` Ruediger Berlich
1996-06-04  0:00     ` next "big" language?? (disagree) Peter Hermann
1996-06-04  0:00       ` The Amorphous Mass
1996-06-05  0:00         ` Michael David WINIKOFF
1996-06-07  0:00           ` Robert Dewar
1996-06-05  0:00     ` Ian Ward
1996-06-05  0:00       ` The Amorphous Mass
1996-06-08  0:00         ` Robert Dewar
1996-06-08  0:00           ` The Amorphous Mass
1996-06-09  0:00             ` Robert Dewar
1996-06-08  0:00         ` Robert Dewar [this message]
1996-06-05  0:00   ` ++           robin
1996-06-05  0:00     ` Ian Ward
1996-06-05  0:00       ` Ian Ward
1996-06-06  0:00         ` Richard Riehle
1996-06-07  0:00           ` Robert Dewar
1996-06-10  0:00             ` Richard Riehle
1996-06-07  0:00           ` Richard Riehle
1996-06-08  0:00             ` O'Connor
1996-06-11  0:00           ` ++           robin
1996-06-11  0:00             ` David Weller
1996-06-11  0:00             ` Chris Warack <sys mgr>
1996-06-11  0:00             ` James_Rogers
1996-06-11  0:00               ` Kevin J. Weise
1996-06-11  0:00         ` ++           robin
1996-06-11  0:00           ` Ian Ward
1996-06-12  0:00             ` ++           robin
1996-06-12  0:00               ` Ian Ward
1996-06-11  0:00       ` Jon S Anthony
     [not found]   ` <4p60nk$imd@euas20.eua.ericsson.se>
     [not found]     ` <4p8lmq$oq7@goanna.cs.rmit.edu.au>
1996-06-11  0:00       ` ++           robin
1996-06-11  0:00         ` A. Grant
1996-06-12  0:00           ` ++           robin
1996-06-12  0:00             ` A. Grant
1996-06-14  0:00               ` Richard A. O'Keefe
1996-06-12  0:00           ` Robert Dewar
1996-06-17  0:00             ` A. Grant
1996-06-18  0:00               ` Robert Dewar
1996-06-24  0:00                 ` Robert I. Eachus
1996-06-26  0:00                   ` Norman H. Cohen
1996-06-19  0:00             ` Jon S Anthony
1996-06-20  0:00               ` Robert Dewar
1996-06-24  0:00                 ` Dale Stanbrough
1996-06-24  0:00                   ` Robert Dewar
1996-06-24  0:00                   ` Adam Beneschan
1996-06-24  0:00                   ` hopkinc
1996-06-24  0:00                   ` Lars Duening
1996-06-24  0:00                   ` Assertions (was: Re: next "big" language?? (disagree)) Robert A Duff
1996-06-24  0:00                     ` Assertions (a different intent?) Gary McKee
1996-06-24  0:00                     ` Assertions (was: Re: next "big" language?? (disagree)) Robert Dewar
1996-06-25  0:00                       ` Robert A Duff
1996-06-28  0:00                         ` Robert Dewar
     [not found]                     ` <4qrljg$15l8@watnews1.watson.ibm.com>
1996-06-28  0:00                       ` Robert Dewar
1996-06-26  0:00                   ` next "big" language?? (disagree) Marc C. Brooks
1996-06-26  0:00                   ` Marc C. Brooks
     [not found]                   ` <4qsbm7$r1s@Starbase.NeoSoft.COM>
1996-06-28  0:00                     ` "Assert"? "Assume"? (was: next "big" language?? (disagree)) Alexander Bunkenburg
1996-06-28  0:00                       ` Ian Collier
1996-07-01  0:00                     ` Cameron Laird
1996-06-24  0:00                 ` next "big" language?? (disagree) Keith Thompson
1996-06-25  0:00                   ` Simon Read
1996-06-25  0:00                   ` Robert A Duff
1996-06-24  0:00                 ` Adam Beneschan
1996-06-25  0:00                 ` Darin Johnson
1996-06-26  0:00                   ` Dale Stanbrough
1996-06-26  0:00                   ` A. Grant
1996-06-25  0:00                 ` Brian Nettleton @pulsar
1996-06-26  0:00                   ` Robert Dewar
1996-06-28  0:00                     ` Fergus Henderson
1996-06-28  0:00                       ` Robert Dewar
1996-06-30  0:00                         ` Fergus Henderson
1996-06-30  0:00                           ` Robert Dewar
1996-06-12  0:00         ` Richard A. O'Keefe
1996-06-12  0:00           ` ++           robin
1996-06-12  0:00             ` Richard A. O'Keefe
1996-06-13  0:00               ` ++           robin
1996-06-13  0:00               ` ++           robin
1996-06-12  0:00   ` Jon S Anthony
1996-06-14  0:00   ` Jon S Anthony
1996-06-15  0:00   ` Jon S Anthony
1996-06-18  0:00     ` Adam Beneschan
1996-06-18  0:00   ` Jon S Anthony
1996-06-28  0:00     ` Assertions (an heretic view) Michel Gauthier
1996-06-28  0:00       ` Robert A Duff
1996-06-28  0:00       ` Robert Dewar
1996-06-06  0:00 ` next "big" language?? (disagree) Dale Pontius
1996-06-11  0:00 ` Jon S Anthony
1996-06-12  0:00 ` Help making ada pretty Pedro de las Heras
1996-06-18  0:00 ` next "big" language?? (disagree) ++           robin
1996-06-07  0:00 Ian Ward
1996-06-08  0:00 ` O'Connor
1996-06-10  0:00   ` Matt Kennel
1996-06-11  0:00     ` Robb Nebbe
1996-06-11  0:00     ` Ian Ward
1996-06-12  0:00       ` Norman H. Cohen
1996-06-09  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