problem with parallel foreach

Ali Çehreli via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue May 12 23:59:01 PDT 2015


On 05/12/2015 08:19 PM, thedeemon wrote:

 > In case of Python's parallel.Pool() separate processes do the
 > work without any synchronization issues. In case of D's
 > std.parallelism it's just threads inside one process and they
 > do fight for some locks, thus this result.

Right. To do the same in D, one must use fibers. Here is a draft of my 
understanding of them:

   http://ddili.org/ders/d.en/fibers.html

As noted there as well, for highest performance with fibers, one likely 
needs to use an M:N threading model.

Ali



More information about the Digitalmars-d-learn mailing list