Performance bottleneck on Abandoned Object Pool
-----------------------------------------------

                 Key: DBCP-239
                 URL: https://issues.apache.org/jira/browse/DBCP-239
             Project: Commons Dbcp
          Issue Type: Improvement
    Affects Versions: 1.3
            Reporter: Takayuki Kaneko


AbandonedObjectPool uses ArrayList as trace variable to manage connections.

I found a bottleneck on it.
returnObject(Object) has a synchronized block and it will be a bottleneck if it 
manages a lot of connections.
ArrayList#remove(Object) has to do arraycopy each time. It is tuned by native 
code, but it is still slower than LinkedList#remove(Object).

IMO, the list doesn't access by index, so LinkedList is better than ArrayList.

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

Reply via email to