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