comp.lang.ada
 help / color / mirror / Atom feed
* Will (abstract) Ada code improve over time ?
@ 2001-07-18 11:34 Reinert Korsnes
  2001-07-18 11:42 ` Lutz Donnerhacke
  2001-07-18 13:33 ` Preben Randhol
  0 siblings, 2 replies; 18+ messages in thread
From: Reinert Korsnes @ 2001-07-18 11:34 UTC (permalink / raw)


Hi,

Since Ada code is (supposed to be) on a higher abstraction level
than for example C, does this mean that we can expect
new compilers and hardware over time (10 years ?) will make
a program made in Ada more efficient/faster than a similar C program ?

Has it been put much significance to this point in military
(or other) software development ?  I assume most software
development is made within a time perspective less than
10 years -:)   (though within pure commercial property development,
for example,  investors must think about reselling and hence
value in far future).

I assume the runtime efficiency of programs is a question for
much special niches.  One example could be operative systems.
Linux ?

reinert




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Will (abstract) Ada code improve over time ?
  2001-07-18 11:34 Will (abstract) Ada code improve over time ? Reinert Korsnes
@ 2001-07-18 11:42 ` Lutz Donnerhacke
  2001-07-19 17:29   ` Tomasz Wegrzanowski
  2001-08-03 17:38   ` Dale Pontius
  2001-07-18 13:33 ` Preben Randhol
  1 sibling, 2 replies; 18+ messages in thread
From: Lutz Donnerhacke @ 2001-07-18 11:42 UTC (permalink / raw)


* Reinert Korsnes wrote:
>Since Ada code is (supposed to be) on a higher abstraction level than for
>example C, does this mean that we can expect new compilers and hardware
>over time (10 years ?) will make a program made in Ada more
>efficient/faster than a similar C program ?

Assuming the same optimizer complexity, it might be true, because Ada
provides more and more precise information to the compiler than C.

>I assume most software development is made within a time perspective less
>than 10 years -:)

This design goal is well known: Such software can be easily identified.

>(though within pure commercial property development, for example,
>investors must think about reselling and hence value in far future).

This is a complete other term: Development time. Ada allows much better
reusability than C. And Ada programms are much faster debugged than C
programms. (Assuming equaly experienced programmers)

>I assume the runtime efficiency of programs is a question for much special
>niches.  One example could be operative systems. Linux ?

Linus tried to convert the kernel to C++ in order to get faster development
cycles due to stronger typing but failed miserably due to compiler errors
and language ambiguity.



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Will (abstract) Ada code improve over time ?
  2001-07-18 11:34 Will (abstract) Ada code improve over time ? Reinert Korsnes
  2001-07-18 11:42 ` Lutz Donnerhacke
@ 2001-07-18 13:33 ` Preben Randhol
  2001-07-19 17:31   ` Tomasz Wegrzanowski
  2001-07-20  7:35   ` Reinert Korsnes
  1 sibling, 2 replies; 18+ messages in thread
From: Preben Randhol @ 2001-07-18 13:33 UTC (permalink / raw)


On Wed, 18 Jul 2001 13:34:45 +0200, Reinert Korsnes wrote:
> Hi,
> 
> Since Ada code is (supposed to be) on a higher abstraction level
> than for example C, does this mean that we can expect
> new compilers and hardware over time (10 years ?) will make
> a program made in Ada more efficient/faster than a similar C program ?

As I "see" the future the following keywords will be more important than
a slight improvement in the speed of a running program:

   1. Development Cost 
   2. Maintainability Cost
   3. Reliability

And as I see it, Ada 95 is better equipped to satisfy in all these areas
than C.

-- 
�Don't use C;  In my opinion,  C is a library programming language
 not an app programming language.�  - Owen Taylor (GTK+ developer)

Use Ada 95, a free language. More info at http://www.adapower.com/



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Will (abstract) Ada code improve over time ?
  2001-07-18 11:42 ` Lutz Donnerhacke
@ 2001-07-19 17:29   ` Tomasz Wegrzanowski
  2001-07-20  8:15     ` Lutz Donnerhacke
  2001-08-03 17:38   ` Dale Pontius
  1 sibling, 1 reply; 18+ messages in thread
From: Tomasz Wegrzanowski @ 2001-07-19 17:29 UTC (permalink / raw)


In article <slrn9latb9.46.lutz@taranis.iks-jena.de>, Lutz Donnerhacke wrote:
>>I assume the runtime efficiency of programs is a question for much special
>>niches.  One example could be operative systems. Linux ?
> 
> Linus tried to convert the kernel to C++ in order to get faster development
> cycles due to stronger typing but failed miserably due to compiler errors
> and language ambiguity.

That's not true.
A few 0.x kernels were compiled using c++ compiler, but they
were pure c code, and c++ were used only to catch more errors
on compile-time. It was equivalent of using more -W options.
Linus stopped using c++ compiler, as there was a performance lose,
and advantages weren't that big.



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Will (abstract) Ada code improve over time ?
  2001-07-18 13:33 ` Preben Randhol
@ 2001-07-19 17:31   ` Tomasz Wegrzanowski
  2001-07-19 17:46     ` Ed Falis
  2001-07-20  7:35   ` Reinert Korsnes
  1 sibling, 1 reply; 18+ messages in thread
From: Tomasz Wegrzanowski @ 2001-07-19 17:31 UTC (permalink / raw)


In article <slrn9lb4lj.5ds.randhol+abuse@kiuk0156.chembio.ntnu.no>, Preben Randhol wrote:
> On Wed, 18 Jul 2001 13:34:45 +0200, Reinert Korsnes wrote:
>> Hi,
>> 
>> Since Ada code is (supposed to be) on a higher abstraction level
>> than for example C, does this mean that we can expect
>> new compilers and hardware over time (10 years ?) will make
>> a program made in Ada more efficient/faster than a similar C program ?
> 
> As I "see" the future the following keywords will be more important than
> a slight improvement in the speed of a running program:
> 
>    1. Development Cost 
>    2. Maintainability Cost
>    3. Reliability
> 
> And as I see it, Ada 95 is better equipped to satisfy in all these areas
> than C.

You know that this is being told from 20 years.



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Will (abstract) Ada code improve over time ?
  2001-07-19 17:31   ` Tomasz Wegrzanowski
@ 2001-07-19 17:46     ` Ed Falis
  0 siblings, 0 replies; 18+ messages in thread
From: Ed Falis @ 2001-07-19 17:46 UTC (permalink / raw)


Tomasz Wegrzanowski wrote:

> In article <slrn9lb4lj.5ds.randhol+abuse@kiuk0156.chembio.ntnu.no>, Preben Randhol wrote:
> > On Wed, 18 Jul 2001 13:34:45 +0200, Reinert Korsnes wrote:
>
> > As I "see" the future the following keywords will be more important than
> > a slight improvement in the speed of a running program:
> >
> >    1. Development Cost
> >    2. Maintainability Cost
> >    3. Reliability
> >
> > And as I see it, Ada 95 is better equipped to satisfy in all these areas
> > than C.
>
> You know that this is being told from 20 years.

Yep, and it's still just as true as it was then ;-)

- Ed






^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Will (abstract) Ada code improve over time ?
  2001-07-18 13:33 ` Preben Randhol
  2001-07-19 17:31   ` Tomasz Wegrzanowski
@ 2001-07-20  7:35   ` Reinert Korsnes
  2001-07-20  8:46     ` Jacob Sparre Andersen
  1 sibling, 1 reply; 18+ messages in thread
From: Reinert Korsnes @ 2001-07-20  7:35 UTC (permalink / raw)


Preben Randhol wrote:

> On Wed, 18 Jul 2001 13:34:45 +0200, Reinert Korsnes wrote:
> > Hi,
> >
> > Since Ada code is (supposed to be) on a higher abstraction level
> > than for example C, does this mean that we can expect
> > new compilers and hardware over time (10 years ?) will make
> > a program made in Ada more efficient/faster than a similar C program ?
>
> As I "see" the future the following keywords will be more important than
> a slight improvement in the speed of a running program:
>
>    1. Development Cost
>    2. Maintainability Cost
>    3. Reliability
>
> And as I see it, Ada 95 is better equipped to satisfy in all these areas
> than C.

Yes, there are more interesting questions, but is it some important and
stable
Ada code out there and that we may expect will run faster over time (on new
hardware)
as compared to if it was made in C ?  (and similar: is it some stable C
code
out there and that would run better in the future is it was made in proper
Ada ?).

Do we see some significant new hardware coming and where old stable Ada
code
will have some advantage ?  Parallel processors ?  Distributed processing ?

Processing where time/clock control comes in ?

reinert

>
>
> --
> �Don't use C;  In my opinion,  C is a library programming language
>  not an app programming language.�  - Owen Taylor (GTK+ developer)
>
> Use Ada 95, a free language. More info at http://www.adapower.com/




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Will (abstract) Ada code improve over time ?
  2001-07-19 17:29   ` Tomasz Wegrzanowski
@ 2001-07-20  8:15     ` Lutz Donnerhacke
  0 siblings, 0 replies; 18+ messages in thread
From: Lutz Donnerhacke @ 2001-07-20  8:15 UTC (permalink / raw)


* Tomasz Wegrzanowski wrote:
>In article <slrn9latb9.46.lutz@taranis.iks-jena.de>, Lutz Donnerhacke wrote:
>>>I assume the runtime efficiency of programs is a question for much special
>>>niches.  One example could be operative systems. Linux ?
>> 
>> Linus tried to convert the kernel to C++ in order to get faster development
>> cycles due to stronger typing but failed miserably due to compiler errors
>> and language ambiguity.
>
>That's not true.
>A few 0.x kernels were compiled using c++ compiler, but they
>were pure c code, and c++ were used only to catch more errors
>on compile-time. It was equivalent of using more -W options.
>Linus stopped using c++ compiler, as there was a performance lose,
>and advantages weren't that big.

Thanx for clarification. I do not remember such things very well.



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Will (abstract) Ada code improve over time ?
  2001-07-20  7:35   ` Reinert Korsnes
@ 2001-07-20  8:46     ` Jacob Sparre Andersen
  2001-07-26  0:52       ` Corey Ashford
  0 siblings, 1 reply; 18+ messages in thread
From: Jacob Sparre Andersen @ 2001-07-20  8:46 UTC (permalink / raw)


Reinert:

> Yes, there are more interesting questions, but is it some important and
> stable
> Ada code out there and that we may expect will run faster over time (on new
> hardware)
> as compared to if it was made in C ?

I doubt very much that changes in hardware in general will
result in changes in the relative execution speed of Ada and
C programs.

On the other hand, I find it likely that similar investments
in improving compilers will give a larger pay-off for Ada
than for C.

> Do we see some significant new hardware coming and where old stable Ada
> code
> will have some advantage ?  Parallel processors ?  Distributed processing ?

I have a vague memory of reading something about a processor
developed by Eriksson (the launch systems division, I
think), which implemented task switching in a very Ada
friendly way.

Jacob
-- 
Maybe the whole reason human beings came into existence was
because the Earth wanted plastic and couldn't produce it any
other way.



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Will (abstract) Ada code improve over time ?
  2001-07-20  8:46     ` Jacob Sparre Andersen
@ 2001-07-26  0:52       ` Corey Ashford
  2001-07-29  4:34         ` Tomasz Wegrzanowski
  0 siblings, 1 reply; 18+ messages in thread
From: Corey Ashford @ 2001-07-26  0:52 UTC (permalink / raw)



"Jacob Sparre Andersen" <sparre@nbi.dk> wrote in message news:3B57EFCB.C5EC2F12@nbi.dk...
> Reinert:
>
> > Yes, there are more interesting questions, but is it some important and
> > stable
> > Ada code out there and that we may expect will run faster over time (on new
> > hardware)
> > as compared to if it was made in C ?
>
> I doubt very much that changes in hardware in general will
> result in changes in the relative execution speed of Ada and
> C programs.

[snip]

One major advantage of Ada is built-in threading (i.e. Ada tasks).
As hardware gets more multiprocessing capability, Ada programs written using
tasking will naturally get a performance boost.   Of course, multi-threaded
C programs would get a boost too, but because it's so much easier
for a programmer to write multi-threaded programs in Ada, they will be more
likely to do use multi-threading in Ada than in C.


Corey Ashford
Rational Software Corp. (not speaking for them in any way whatsoever)





^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Will (abstract) Ada code improve over time ?
  2001-07-26  0:52       ` Corey Ashford
@ 2001-07-29  4:34         ` Tomasz Wegrzanowski
  2001-07-29  5:47           ` AG
                             ` (4 more replies)
  0 siblings, 5 replies; 18+ messages in thread
From: Tomasz Wegrzanowski @ 2001-07-29  4:34 UTC (permalink / raw)


In article <E166E69A95753648BC398E36BE9A3AB81451890D@sus-ma1it06.rational.com>, Corey Ashford wrote:
> One major advantage of Ada is built-in threading (i.e. Ada tasks).
> As hardware gets more multiprocessing capability, Ada programs written using
> tasking will naturally get a performance boost.   Of course, multi-threaded
> C programs would get a boost too, but because it's so much easier
> for a programmer to write multi-threaded programs in Ada, they will be more
> likely to do use multi-threading in Ada than in C.

Not true, because C uses hardware/OS threading model, while Ada uses own
threading model, so unless hardware and OSes will be designed for Ada,
C code will perform better (C code can change threading model if
hardware/OS design changes with no problem).



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Will (abstract) Ada code improve over time ?
  2001-07-29  4:34         ` Tomasz Wegrzanowski
@ 2001-07-29  5:47           ` AG
  2001-07-29  5:56           ` tmoran
                             ` (3 subsequent siblings)
  4 siblings, 0 replies; 18+ messages in thread
From: AG @ 2001-07-29  5:47 UTC (permalink / raw)



"Tomasz Wegrzanowski" <taw@pb220.legnica.sdi.tpnet.pl> wrote in message
news:9k03ot$2me$3@news.tpi.pl...
> In article
<E166E69A95753648BC398E36BE9A3AB81451890D@sus-ma1it06.rational.com>, Corey
Ashford wrote:
> > One major advantage of Ada is built-in threading (i.e. Ada tasks).
> > As hardware gets more multiprocessing capability, Ada programs written
using
> > tasking will naturally get a performance boost.   Of course,
multi-threaded
> > C programs would get a boost too, but because it's so much easier
> > for a programmer to write multi-threaded programs in Ada, they will be
more
> > likely to do use multi-threading in Ada than in C.
>
> Not true, because C uses hardware/OS threading model, while Ada uses own
> threading model, so unless hardware and OSes will be designed for Ada,
> C code will perform better (C code can change threading model if
> hardware/OS design changes with no problem).

Please note that you said "change threading model". That obviously means at
least
*some* change (I hope you didn't mean that C compiler can do that for you?)
Ada model does *not* require that. And, if you want to use hardware/OS
threading model why not bite the bullet and go Assembler way?





^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Will (abstract) Ada code improve over time ?
  2001-07-29  4:34         ` Tomasz Wegrzanowski
  2001-07-29  5:47           ` AG
@ 2001-07-29  5:56           ` tmoran
  2001-07-29  8:20           ` Pascal Obry
                             ` (2 subsequent siblings)
  4 siblings, 0 replies; 18+ messages in thread
From: tmoran @ 2001-07-29  5:56 UTC (permalink / raw)


>C code will perform better (C code can change threading model if
>hardware/OS design changes with no problem).
  In fact all of the C code would have to be gone over to change the
threading model.  Whereas the Ada compiler's RTS would change and the
Ada programs would only need to be relinked to take advantage of the
new, improved hardware/OS.  Which prospect sounds better to you?



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Will (abstract) Ada code improve over time ?
  2001-07-29  4:34         ` Tomasz Wegrzanowski
  2001-07-29  5:47           ` AG
  2001-07-29  5:56           ` tmoran
@ 2001-07-29  8:20           ` Pascal Obry
  2001-07-29 12:39           ` Larry Kilgallen
  2001-07-29 14:08           ` Florian Weimer
  4 siblings, 0 replies; 18+ messages in thread
From: Pascal Obry @ 2001-07-29  8:20 UTC (permalink / raw)



taw@pb220.legnica.sdi.tpnet.pl (Tomasz Wegrzanowski) writes:

> Not true, because C uses hardware/OS threading model, while Ada uses own
> threading model, so unless hardware and OSes will be designed for Ada,
> C code will perform better (C code can change threading model if
> hardware/OS design changes with no problem).

Well Ada threading model is based on the hardware/OS threading model (at least
this is true for many Ada compilers). But of course an Ada compiler work
around all the little differences between OS threading model to give you the
very same behavior under whatever OS you use.

You get it ? In C you have all this work to do by yourself. Are we talking
about portability here ?

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--|
--| "The best way to travel is by means of imagination"



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Will (abstract) Ada code improve over time ?
  2001-07-29  4:34         ` Tomasz Wegrzanowski
                             ` (2 preceding siblings ...)
  2001-07-29  8:20           ` Pascal Obry
@ 2001-07-29 12:39           ` Larry Kilgallen
  2001-07-29 14:08           ` Florian Weimer
  4 siblings, 0 replies; 18+ messages in thread
From: Larry Kilgallen @ 2001-07-29 12:39 UTC (permalink / raw)


In article <9k03ot$2me$3@news.tpi.pl>, taw@pb220.legnica.sdi.tpnet.pl (Tomasz Wegrzanowski) writes:

> Not true, because C uses hardware/OS threading model, while Ada uses own
> threading model, so unless hardware and OSes will be designed for Ada,
> C code will perform better (C code can change threading model if
> hardware/OS design changes with no problem).

You do not know, without looking under the covers (of the documentation)
what tasking _mechanism_ is being used.  Some Ada compilers use that
of the OS/hardware, while other Ada compilers use a tasking _mechanism_
of their own.  Some offer a choice, but regardless of the _mechanism_
used, the _model_ presented by Ada is the same.  The _model_ is where
your program must conform.  With Ada there is only one.

One possible reason for _not_ using the OS/hardware mechanism is the
performance cost of a context switch.  If your compiler offers such
an option, you can make a choice without much human effort.




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Will (abstract) Ada code improve over time ?
  2001-07-29  4:34         ` Tomasz Wegrzanowski
                             ` (3 preceding siblings ...)
  2001-07-29 12:39           ` Larry Kilgallen
@ 2001-07-29 14:08           ` Florian Weimer
  4 siblings, 0 replies; 18+ messages in thread
From: Florian Weimer @ 2001-07-29 14:08 UTC (permalink / raw)


taw@pb220.legnica.sdi.tpnet.pl (Tomasz Wegrzanowski) writes:

> Not true, because C uses hardware/OS threading model,

The C standard doesn't specify any threading model at all.  As a
result, many C programmers rely on unspecified and undocumented
compiler behavior, and their program works correctly only with some
specific versions of one compiler.  In addition, large parts of the C
run-time library are complicated to implement efficiently in a
multi-threading environment, at least on some architectures.

With Ada, you don't have to use the tasking features of the language.
I think quite a few projects use their own tasking implementation.  Of
course, and certainly for non-embedded applications, there is hardly a
need to do this nowadays.



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Will (abstract) Ada code improve over time ?
  2001-07-18 11:42 ` Lutz Donnerhacke
  2001-07-19 17:29   ` Tomasz Wegrzanowski
@ 2001-08-03 17:38   ` Dale Pontius
  2001-08-03 21:32     ` Florian Weimer
  1 sibling, 1 reply; 18+ messages in thread
From: Dale Pontius @ 2001-08-03 17:38 UTC (permalink / raw)


In article <slrn9latb9.46.lutz@taranis.iks-jena.de>,
        lutz@iks-jena.de (Lutz Donnerhacke) writes:
> * Reinert Korsnes wrote:
>>Since Ada code is (supposed to be) on a higher abstraction level than for
>>example C, does this mean that we can expect new compilers and hardware
>>over time (10 years ?) will make a program made in Ada more
>>efficient/faster than a similar C program ?
>
> Assuming the same optimizer complexity, it might be true, because Ada
> provides more and more precise information to the compiler than C.
>
The real issue here is about WHO is trying to make better optimizers?
At present, most real-world compilers are C/C++, which don't furnish
the extra information Ada does. Therefore most optimization work likely
doesn't even concern itself with language hints to the optimizer.

In other words, if work is being done to make Ada optimize better than
C, it would probably become apparent here in c.l.a.

One possible alternative scenario is if C++ is able to give hints to
the optimizer. But in that case, I suspect that using those hints would
be more a matter of either ignoring the noise, (not using the hings) or
trying to pick the usable signal out of the noise.

Dale Pontius



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Will (abstract) Ada code improve over time ?
  2001-08-03 17:38   ` Dale Pontius
@ 2001-08-03 21:32     ` Florian Weimer
  0 siblings, 0 replies; 18+ messages in thread
From: Florian Weimer @ 2001-08-03 21:32 UTC (permalink / raw)


pontius@btv.ibm.com (Dale Pontius) writes:

> The real issue here is about WHO is trying to make better optimizers?
> At present, most real-world compilers are C/C++, which don't furnish
> the extra information Ada does.

Not too recently, one C compiler has introduced optimizations
involving type-based aliasing analysis, an area where Ada can do much,
much better because writing to strings does not potentially change any
other object in the same scope.

There are other features of Ada which can result in compiler backend
input which is easier to optimize, for example, the true 'for' loop
statement.



^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2001-08-03 21:32 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-07-18 11:34 Will (abstract) Ada code improve over time ? Reinert Korsnes
2001-07-18 11:42 ` Lutz Donnerhacke
2001-07-19 17:29   ` Tomasz Wegrzanowski
2001-07-20  8:15     ` Lutz Donnerhacke
2001-08-03 17:38   ` Dale Pontius
2001-08-03 21:32     ` Florian Weimer
2001-07-18 13:33 ` Preben Randhol
2001-07-19 17:31   ` Tomasz Wegrzanowski
2001-07-19 17:46     ` Ed Falis
2001-07-20  7:35   ` Reinert Korsnes
2001-07-20  8:46     ` Jacob Sparre Andersen
2001-07-26  0:52       ` Corey Ashford
2001-07-29  4:34         ` Tomasz Wegrzanowski
2001-07-29  5:47           ` AG
2001-07-29  5:56           ` tmoran
2001-07-29  8:20           ` Pascal Obry
2001-07-29 12:39           ` Larry Kilgallen
2001-07-29 14:08           ` Florian Weimer

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