You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by "Marcos Sanz (JIRA)" <ji...@apache.org> on 2007/04/23 15:53:15 UTC

[jira] Commented: (POOL-93) Reduce contention by making borrow & return more independent from each other

    [ 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: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org