comp.lang.ada
 help / color / mirror / Atom feed
From: "Jeffrey R. Carter" <spam.jrcarter.not@spam.not.acm.org>
Subject: Re: Large number of tasks slows down my program (using debian) - any fix?
Date: Sat, 7 Apr 2018 20:41:12 +0200
Date: 2018-04-07T20:41:12+02:00	[thread overview]
Message-ID: <pab3c8$v1u$1@dont-email.me> (raw)
In-Reply-To: <c41f508c-9b42-422c-9f58-f29c0f611416@googlegroups.com>

On 04/07/2018 06:28 PM, Brad Moore wrote:
> 
> I notice also that I dont think there is a real need for 503 Ada tasks for this benchmark. There are conceptually 503 objects that "pass the baton" serially in a ring, each time the protected object is called.
> 
> So, I then thought, why not set the number of Ada worker tasks to 4 instead of 503, while keeping the number of baton passers at 503.
> 
> When I change that, the code improves to complete in 6.9 seconds.

The problem requirements include:

"create 503 linked pre-emptive threads"

so I suspect that would not be a valid implementation.

> If you think your version is a fair test though, it is an interesting comparison point, then I'd suggest you submit your version to the benchmark site, if you like. They are fairly picky in what they'd accept. There is a chance they'd reject it, but you never know.

I saw opportunities in your code to replace explicit actions with elaboration, 
which is usually a good thing. That got rid of the Start procedure, which made 
the barrier of the entry always True, which resulted in changing the entry to a 
procedure. I'm not sure whether it's a fair test or not.

In your version, the tasks queue up on the entry in some order, and queue 
themselves back on the entry again as soon as the calls complete, so the tasks 
are calling the entry repeatedly in the same order.

In my version, all the tasks are calling the protected procedure repeatedly, but 
we don't know if there's an order in which they execute the calls. So my version 
may be less like a ring than yours.

But I'm not sure your version is a fair test, either. There aren't tasks linked 
in a ring. There are just a bunch of tasks that manipulate data in a PO until 
they have done so the correct number of times. That doesn't seem to fulfill the 
spirit of the requirements.

-- 
Jeff Carter
"English bed-wetting types."
Monty Python & the Holy Grail
15


  reply	other threads:[~2018-04-07 18:41 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-28 18:06 Large number of tasks slows down my program (using debian) - any fix? reinert
2018-03-28 18:49 ` Dennis Lee Bieber
2018-03-28 19:06 ` Paul Rubin
2018-03-28 19:21 ` Dmitry A. Kazakov
2018-03-28 20:17   ` reinert
2018-03-29  8:46     ` reinert
2018-03-29  9:18       ` Dmitry A. Kazakov
2018-03-29 15:39       ` Jeffrey R. Carter
2018-04-15  5:20         ` reinert
2018-03-29 22:33 ` Shark8
2018-03-30  9:04   ` Dmitry A. Kazakov
2018-03-30 20:46     ` Paul Rubin
2018-03-31  0:09       ` Randy Brukardt
2018-03-31  6:00         ` Paul Rubin
2018-03-31  9:37           ` Jacob Sparre Andersen
2018-03-31 10:44             ` Dmitry A. Kazakov
2018-04-02  3:35           ` Randy Brukardt
2018-04-02  6:23     ` alby.gamper
2018-04-02  7:12       ` alby.gamper
2018-04-05 14:07       ` Brad Moore
2018-04-05 15:09         ` Dmitry A. Kazakov
2018-04-07  4:16           ` Brad Moore
2018-04-05 15:30         ` Jeffrey R. Carter
2018-04-05 19:33           ` Spiros Bousbouras
2018-04-05 19:44           ` Simon Wright
2018-04-05 20:25             ` Jeffrey R. Carter
2018-04-06  5:58         ` Benchmarks Game: Thread ring (Was: Large number of tasks slows down my program (using debian) - any fix?) Jacob Sparre Andersen
2018-04-07  4:28           ` Brad Moore
2018-04-06 15:48         ` Large number of tasks slows down my program (using debian) - any fix? Jeffrey R. Carter
2018-04-07  4:39           ` Brad Moore
2018-04-07  8:15             ` Jeffrey R. Carter
2018-04-07 16:28               ` Brad Moore
2018-04-07 18:41                 ` Jeffrey R. Carter [this message]
2018-04-08  0:29                   ` Brad Moore
2018-04-08  8:25                     ` Jeffrey R. Carter
2018-04-08  0:06                 ` Robert I. Eachus
2018-04-07 16:51               ` Brad Moore
2018-04-07 12:21         ` Simon Wright
2018-04-07 16:57           ` Brad Moore
replies disabled

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