From: Matthew Heaney <matthew_heaney@acm.org>
Subject: Re: Task Problem
Date: 1999/04/10
Date: 1999-04-10T00:00:00+00:00 [thread overview]
Message-ID: <m3emltz10g.fsf@mheaney.ni.net> (raw)
In-Reply-To: 004601be8271$a408ad60$a20eb4d8@dhoossr
"David C. Hoos, Sr." <david.c.hoos.sr@ada95.com> writes:
> -----Original Message-----
> From: Sean Hill <shill@arlut.utexas.edu>
> To: chat@gnat.com <chat@gnat.com>
> Date: Thursday, April 08, 1999 4:03 PM
> Subject: Task Problem
>
> >Any thoughts out there?
> >
> I know this is not a first step when porting from Ada83 to Ada95, but
> I have found no need for the rendezvous mechanism in any of my new
> designs, and have changed many rendezvous designs to use protected
> queues.
I'll ditto that. It's possible to write Ada tasks as pure active
threads, with no entries. When you need to call a task, you call a
protected object instead that acts as an intermediary.
I'm no expert in these matters, but I suspect that this would allow very
efficient run-times to be built. You could have light-weight tasks that
don't have accept statements or terminate alternatives.
One of the things I'd like to do is build a run-time like that for GNAT
(or for any Ada compiler), along the lines of a Ravenscar profile.
For example, the Implementation Advice section of the GNAT reference
manual reads:
(start of quote)
*D.7(21): Tasking Restrictions*
When feasible, the implementation should take advantage of the
specified restrictions to produce a more efficient
implementation.
Not followed. GNAT does not currently take advantage of any
specified restrictions.
(end of quote)
It would be cool to build different run-times tailored to specific sets
of restrictions, to get maximum efficiency.
Anybody know how to do this?
next parent reply other threads:[~1999-04-10 0:00 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <004601be8271$a408ad60$a20eb4d8@dhoossr>
1999-04-10 0:00 ` Matthew Heaney [this message]
1999-04-11 0:00 ` Task Problem Robert Dewar
1999-04-12 0:00 ` charlet
1999-04-12 0:00 ` Jean-Pierre Rosen
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox