Coping files and folders

Ali Çehreli acehreli at yahoo.com
Fri Jan 25 09:04:46 PST 2013


On 01/24/2013 10:23 PM, Joel wrote:

 > // parallel foreach for regular files
 > foreach(fn ; taskPool.parallel(files,100)) {

 > What is the 100 number for?

It is the work unit size:

   http://dlang.org/phobos/std_parallelism.html#.TaskPool

Quoting:

The number of elements processed per work unit is controlled by the 
workUnitSize parameter. Smaller work units provide better load 
balancing, but larger work units avoid the overhead of communicating 
with other threads frequently to fetch the next work unit. Large work 
units also avoid false sharing in cases where the range is being 
modified. The less time a single iteration of the loop takes, the larger 
workUnitSize should be. For very expensive loop bodies, workUnitSize 
should be 1. An overload that chooses a default work unit size is also 
available.

Ali



More information about the Digitalmars-d-learn mailing list