Not able to get scaled performance on increasing number of threads

Dmitry Olshansky dmitry.olsh at gmail.com
Sat Feb 2 09:52:42 PST 2013


02-Feb-2013 00:39, FG пишет:
> On 2013-02-01 20:33, Dmitry Olshansky wrote:
>> Mine reiteration on it, with a bit of help from std.parallelism.
>> std.parallelism uses thread pool thus it's somewhat faster then
>> creating threads
>> anew.
>
> Interestingly, threads+barrier here wasn't much slower than tasks:
> 14% slower for dmd32, only 5% for gdc64
> (and taskpool in dmd 13% slower than in gdc).

I'm think that taskPool should provide better operation for 'wait till 
all tasks are finished' as yielding on each task (i.e. future) looks 
less efficient.

That being said I might be missing something in std.parallelism API, I 
haven't used it all that much before.

But I love foreach(v; parallel(range) stuff :)

-- 
Dmitry Olshansky


More information about the Digitalmars-d-learn mailing list