comp.lang.ada
 help / color / mirror / Atom feed
From: Brad Moore <bmoore.ada@gmail.com>
Subject: Re: Large number of tasks slows down my program (using debian) - any fix?
Date: Thu, 5 Apr 2018 07:07:03 -0700 (PDT)
Date: 2018-04-05T07:07:03-07:00	[thread overview]
Message-ID: <10e74e0c-119a-4d86-8a12-c05101f744f1@googlegroups.com> (raw)
In-Reply-To: <f25f9607-82be-4eda-be3d-ade20724d610@googlegroups.com>

Another data point is the entry I submitted to the Computer Language Benchmark Games site for the Thread-Ring benchmark.

The problem there is to create 503 tasks, and then use some sort of message passing to pass a "token" in a ring from from task to the next, 50_000_000 times, printing out the task number that ended up with the token at the end.

I used a protected object to pass a "token" between the tasks. I believe the reason why it works as fast as it did, is that an Ada protected object can have one task perform the action of the protected object on behalf of other tasks that are queued on an entry of the protected object.

Source code:

https://benchmarksgame-team.pages.debian.net/benchmarksgame/program/threadring-gnat-6.html

The results comparing this version against other approaches in other languages can be seen here, where the entries are executed on a quad-core machine:

Note, the approaches by different languages are very different from each other,
so in some sense, this is like comparing apples and oranges.

https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/threadring.html

All the benchmarks can be accessed from the top level of the site
https://benchmarksgame-team.pages.debian.net/benchmarksgame/

Brad.

  parent reply	other threads:[~2018-04-05 14:07 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 [this message]
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
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