comp.lang.ada
 help / color / mirror / Atom feed
From: Edmond Walsh <edmond@walsh.demon.co.uk>
Subject: Re: Tasking performance between Ada83 and Ada95
Date: 1997/06/08
Date: 1997-06-08T00:00:00+00:00	[thread overview]
Message-ID: <7h6UFCAdNsmzEwg3@walsh.demon.co.uk> (raw)
In-Reply-To: dewar.865693453@merv


In article <dewar.865693453@merv>, Robert Dewar <dewar@merv.cs.nyu.edu>
writes
>Mike Rose says
>
><<In comparing the results between the two compilers, I found that the tasking
>performance is much slower with GNAT than with Alsys, every test was at least
>10 times slower and some were much more.
> 
>Our software depends heavily on tasking.  Is there any way to improve the
>tasking performance with GNAT ? 
> 
>>>
>
>You have to be careful to know exactly what you are comparing. In partciular, 
>there is no question that Ada 95 does impose some additional semantic
>constraints and features (e.g. requeue and ATC) that result in distributed
>implementation costs. Often for example, the proper comparison is between
>a task in Ada 83 and a protected type in Ada 95.
>
>You also have to decide what features you are testing carefully. In looking
>at, for example, the timings on SGI between VADS and GNAT on the PIWG tasking
>benchmarks, we certainly do not see a factor of 10 difference in performance,
>and in some comparative benchmarks on timing performance for tasking, we see
>GNAT running faster than an Ada 83 compiler doing similar things.
>
>The other point is that you have to be very careful that you are in fact
>looking at comparable situations. For example, comparing a GNAT compiler
>where tasks are mapped to operating systems threads, with an Ada 83
>o
>
>compiler where the tasking maps to a single processing and is handled in
>user mode is of course a completely meaningless comparison.
>
>One answer to your question if you are making this kind of apples/oranges
>comparison is to use a similar kernel (e.g. FSU threads on GNAT). We find
>on many targets that the use of FSU threads is MUCH more efficient than the
>use of operating systems tasks.
>
>A more focussed reply is possible if you tell us exactly what is being
>compared (what machines, what compilers, what thread packages).
>
>Robert Dewar
>Ada Core Technologies
>
We had a similar problem when moving some Ada 83 code running on a
Harris NightHawk to Ada 95 (Gnat) on an SG.  It took a lot of effort to
get the code running reasonably on the SG.  The underlying problem was
the mapping of the Ada Tasks to Unix threads.  The Harris (now
Concurrent) system was very good, reflecting the Real Time background of
Harris. (I was not involved in the porting, I was just an interested
observer.)
-- 
Edmond Walsh




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

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-06-06  0:00 Tasking performance between Ada83 and Ada95 Mike Rose
1997-06-07  0:00 ` Robert A Duff
1997-06-08  0:00   ` Robert Dewar
1997-06-10  0:00     ` PascMartin
1997-06-10  0:00       ` Robert Dewar
1997-06-10  0:00     ` Jon S Anthony
1997-06-07  0:00 ` jim hopper
1997-06-07  0:00 ` Robert Dewar
1997-06-08  0:00   ` Edmond Walsh [this message]
1997-06-09  0:00     ` Robert Dewar
1997-06-15  0:00       ` Edmond Walsh
1997-06-15  0:00         ` Robert Dewar
1997-06-15  0:00           ` Tom Moran
1997-06-16  0:00           ` Robert A Duff
1997-06-17  0:00             ` Robert Dewar
1997-06-22  0:00           ` Geert Bosch
1997-06-23  0:00             ` Larry Kilgallen
1997-06-25  0:00               ` Fergus Henderson
1997-06-25  0:00                 ` Larry Kilgallen
1997-06-23  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