comp.lang.ada
 help / color / mirror / Atom feed
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?









       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