5 Replies Latest reply on Jun 16, 2014 2:05 PM by jesper.pedersen

    Performance improvement to default mcp.



      I've been looking at the default mcp with the aim of improving performance. It's the class org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool


      By re-jigging some code in the returnConnection method I've been able to improve response times on average by 15%. Using a jee benchmark that loads a system using the JCA (IronJacamar) to manage JMS and datastore resources.


      There are three changes:


      a) Moved the condition check on the 'kill' variable outside the synchronized block.

      b) Moved the call to ConnectionListener.used() outside the synchronized block.

      c) Removed the assignment of a ConnectionListener local variable.


      Running the testsuite for the core module didn't show any test failures.


      Which code branch should I apply the changes and then share for you to review them ?