@mratsim:

> Nim's FlowVars have contention issues and no load balancing.

I have been doing some more thinking about your performance problem with the 
"pibench2" program and think that the problem may have been your 36 threads 
being run in with pinned threads in thread affinity - there should be very good 
reasons to pin threads to a core and this code isn't a good example of one of 
them. As I show in my code above, it isn't necessary, and the above code could 
reasonable easily be converted to use raw threads rather than spawn.

That said, there are advantages in reducing context switching overhead by using 
spawn and as you said in your comment on using raw theads, they really are too 
low level if one doesn't need those extra cababilities as one doesn't here.

For your use, you might use setMinPoolSize to your countProcessors() value to 
be sure that enough threads are "spun up" in the thread pool.

Reply via email to