On Wednesday, 11 March 2020 at 14:01:13 UTC, Simen Kjærås wrote:
[snip]
Yeah, I forgot we cast to immutable to be able to send, so receive has to receive immutable(Deb)*, after which you can call deb.dup to get a mutable copy:

    receive(
(immutable(Deb)* deb) { debForName[deb.name] = deb.dup; },
        (DoneMessage m) { jobs--; }
    );

Thanks, that fixed it.

However, timing-wise the single threaded version (st) is fastest, then the task multi-threaded version (mt), and finally this version (mto).

Reply via email to