std.parallelism changes done

Sönke Ludwig ludwig at informatik.uni-luebeck.de
Thu Mar 24 00:29:52 PDT 2011


Hm depending on the way the pool is used, it might be a better default 
to have the number of threads equal the number of cpu cores. In my 
experience the control thread is mostly either waiting for tasks or 
processing messages and blocking in between so it rarely uses a full 
core, wasting the available computation time in this case.

However, I'm not really sure if it is like this for the majority of all 
applications or if there are more cases where the control thread will 
continue to do computations in parallel. Maybe we could collect some 
opinions on this?

On another note, I would like to see a rough description on what the 
default workUnitSize is depending on the size of the input. Otherwise it 
feels rather uncomfortable to use this version of parallel().

Another small addition would be to state that the object returned by 
asyncBuf either is an InputRange or which useful methods it might have 
(some kind of progress counter could also be useful here).

Btw., sorry if anything of this has already been discussed. I have 
missed the previous discussion unfortunately.

Sönke


More information about the Digitalmars-d mailing list