"wolfc" wrote : Two issues:
| 1. the original ThreadlocalPool was designed incur zero thread contention. This
changed when statistics were implemented. Right now that uses sync blocks, but it could be
changed to atomics. Still it would incur a penalty.
| 2. a ThreadlocalPool servicing a ThreadPool with a size > 100 will always have a
lower throughput than a StrictMaxPool with maximum size 100. The maximum size of
ThreadlocalPool is not applicable.
|
| To really identify performance bottlenecks within enterprise beans you would need to
know:
| - average queue size
| - average execution time
| - average wait time
|
| We also need to microbench all the pool implementations to see their effect on
throughput & average response time.
Yes, the statistics require synchronization, which is part of the point. If you need the
statistics, then you lose the benefits of it being a ThreadLocal.
I also seem to remember that it also synchronizes on the ArrayList for the instance
references too though.
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4256419#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...