MHo 2017-07-31 There's something that I don't understand:
Why ist the runtime of
set pool1 [[tpool::create -minworkers 10 -maxworkers 20 -idletime 10]] for {set i 1} {$i <= 20} {incr i} { lappend jobs [tpool::post $pool1 {after 10000} }
double the time of
set pool1 [[tpool::create -minworkers 20 -maxworkers 20 -idletime 10]] for {set i 1} {$i <= 20} {incr i} { lappend jobs [tpool::post $pool1 {after 10000} }
(The workers are only sleeping using after 10000 in this case.)
The first call runs ~20,xs, the second one, as expected, ~10,xs.
The documentation states, the only difference is the time at which the workers are created - beforehand, or "on demand" when a post is done. As there are enough -maxworkers defined, what is limiting the operation then...?