[ 
https://issues.apache.org/jira/browse/POOL-93?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12490928
 ] 

Marcos Sanz commented on POOL-93:
---------------------------------

I have included a simmilar patch to Holger's, this time for the 
GenericObjectPool.

I have refrained from introducing volatile variables.I have also refrained from 
synchronizing the access to _testOnReturn, which is really not worth bothering. 
The performance improvement in borrow/return time after applying the patch 
reaches in some cases one order of magnitude. All unit tests passed.

I think further improvement in the liveness of this class can be done, mainly 
by alleviating synchronization in the borrowObject() method.

> Reduce contention by making borrow & return more independent from each other
> ----------------------------------------------------------------------------
>
>                 Key: POOL-93
>                 URL: https://issues.apache.org/jira/browse/POOL-93
>             Project: Commons Pool
>          Issue Type: Improvement
>    Affects Versions: Nightly Builds
>            Reporter: Holger Hoffstätte
>         Attachments: GenericObjectPool.patch, GKOP-relaxedSyncOnReturn.patch, 
> perf-patch-GenericPool.txt, relaxedReturnObjectBenchmark.txt
>
>
> Currently borrow & return are completely blocked from each other, while at 
> least the factory-based validation & destruction can be handled 
> independently. A few simple changes narrow the synchronization blocks yet 
> retain overall correctness.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to