
k-oli@gmx.de wrote:
Yes - internaly a work-stealing algorithm is used and thatswhy pining threads to processors improves the performance.
Couldn't it also be inefficient for some patterns?
You are not frced to used the pining. If you specify poolsize in the cosntructor no pining will happen. Boost.Threadpool uses internaly a work-stealing algorithm. Each worker-thread has its own local queue (containing tasks) which will be filled by sub-tasks (please see the docu). The idea is that memory associated with the work most recently pushed into the queue will still be hot in the cache (queue == Processor affinity is optimizing cache performance (even time-sensitive applications). Oliver -- Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer