Brian Pane wrote: > Aaron Bannert wrote:
[...] >> Here's an updated version of my worker redesign. The "queue" is really a >> stack, but I didn't change the name for the sake of having a readable >> patch -- if we end up going with this patch I'll rename everything to >> "stack". >> > > Thanks. Here's my patch to optimize away the mutex operations in > pools that have been designated thread-private. With the current > worker code, it can eliminate the mutex ops for subrequest pool > creation/destruction. By combining it with your worker redesign, > I think we may be able to eliminate the mutexes for the ptrans > pool. I just finished profiling the combination of the time-space-tradeoff worker with thread-private pools, and it does seem to achieve the intended effect: most of the mutex locking is eliminated. I don't have before&after throughput data, but I do have profiler data that shows that the combination of the two patches reduces the time spent in pool by almost half. --Brian
