comp.lang.ada
 help / color / mirror / Atom feed
From: Robert Dewar <robert_dewar@my-dejanews.com>
Subject: Re: Does this model work ?
Date: 1999/05/17
Date: 1999-05-17T00:00:00+00:00	[thread overview]
Message-ID: <7hpdc9$jdt$1@nnrp1.deja.com> (raw)
In-Reply-To: 7hpbco$hsi$1@nnrp1.deja.com

In article <7hpbco$hsi$1@nnrp1.deja.com>,
  jrcarter001@my-dejanews.com wrote:
> In article <7hmda1$khp$1@nnrp1.deja.com>,
> The code has timing requirements, and the Ada-83 compiler had
> problems with low-level bit manipulation. Converting to
> Boolean arrays was too slow

This seems not a language issue at all. If for some reason your
boolean data is in the form of integers, instead of packed
bit arrays to start with, converting to packed bit arrays
should require an unchecked conversion that takes zero time.
Yes, you may have to parametrize endianess here, and so the
one thing that was missing in Ada 83 was a standardized way
to do this, but that is hardly fundamental. It just means you
have one boolean constant that needs specialization.

> More significantly, the Ada tasking implementation did not
> allow them to use tasks and meet their timing requirements,
> leading to OS calls

Again, I would hesitate to say this is a language issue. A
number of Ada 83 compilers provided passive tasks with actually
slightly better performance than protected types (which have
a bit too much baggage for really efficient implementation,
unless you adopt the RP profile).

It is most certainly the case that Ada 95 has improved the
portability in some cases, and indeed these two features were
provided with this in mind.

What I am really pointing out is that it was not at all
necessary, even in Ada 83, to give up on portability so
quickly. It would just have taken a bit more care in
compiler selection and coding style. Note that if performance
is an issue, then you have to be careful about compiler
selection anyway. There is nothing at all in the Ada 95
standard that says that protected types or modular logical
operations have to be implemented efficiently.





--== Sent via Deja.com http://www.deja.com/ ==--
---Share what you know. Learn what you don't.---




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

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-05-14  0:00 Does this model work ? Jean-Marten Marchi
1999-05-14  0:00 ` Al Christians
1999-05-14  0:00   ` Jean-Marten Marchi
1999-05-16  0:00     ` Robert Dewar
1999-05-16  0:00       ` Jean-Marten Marchi
1999-05-17  0:00       ` Roger Racine
1999-05-14  0:00   ` Jean-Marten Marchi
1999-05-15  0:00     ` Florian Weimer
1999-05-15  0:00       ` bglbv
1999-05-16  0:00         ` Tom Moran
1999-05-16  0:00       ` David Botton
1999-05-16  0:00         ` Robert Dewar
1999-05-16  0:00       ` Robert Dewar
1999-05-14  0:00 ` dennison
     [not found]   ` <01be9ee1$eca9be10$022a6282@dieppe>
1999-05-15  0:00     ` Al Christians
1999-05-16  0:00       ` Larry Kilgallen
1999-05-16  0:00       ` Robert Dewar
1999-05-17  0:00       ` Pascal Obry
1999-05-17  0:00         ` Marin David Condic
1999-05-20  0:00           ` Robert Dewar
1999-05-20  0:00             ` Marin David Condic
1999-05-16  0:00     ` Jean-Marten Marchi
1999-05-16  0:00   ` Robert Dewar
1999-05-16  0:00     ` Andi Kleen
1999-05-17  0:00       ` Robert Dewar
1999-05-17  0:00     ` jrcarter001
1999-05-17  0:00       ` Robert Dewar [this message]
1999-05-18  0:00     ` dennison
1999-05-19  0:00       ` Robert Dewar
1999-05-19  0:00         ` dennison
1999-05-16  0:00 ` Robert Dewar
1999-05-16  0:00   ` Jean-Marten Marchi
1999-05-17  0:00     ` Robert Dewar
1999-05-17  0:00       ` Jean-Marten Marchi
1999-05-17  0:00       ` Jean-Marten Marchi
1999-05-18  0:00         ` Samuel T. Harris
1999-05-20  0:00           ` Jean-Marten Marchi
1999-05-20  0:00             ` Samuel T. Harris
1999-05-20  0:00             ` Samuel Mize
1999-05-20  0:00               ` David Botton
1999-05-20  0:00                 ` Samuel Mize
1999-05-18  0:00     ` dennison
replies disabled

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