Reduce contention on ServiceRegistry.getServiceReferences(String, Filter)
-------------------------------------------------------------------------

                 Key: FELIX-1746
                 URL: https://issues.apache.org/jira/browse/FELIX-1746
             Project: Felix
          Issue Type: Improvement
          Components: Framework
    Affects Versions: felix-2.0.0
            Reporter: Jed Wesley-Smith


Performance testing has shown that there is significant contention on the 
ServiceRegistry object's monitor during startup. This is caused by Spring DM 
making lots of calls to the synchronized method 
ServiceRegistry.getServiceReferences(String, Filter). This method is 
synchronized in order to protect the m_serviceRegsMap HashMap, but the method 
does a lot more work than simply accessing the map.

Propose changing the ServiceRegistry to use a thread-safe Map implementation 
that does not require external synchronization, in particular a CopyOnWriteMap. 
I will add a patch that includes a CopyOnWriteMap implementation.

-- 
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