Felix Meschberger created FELIX-4692:
----------------------------------------

             Summary: Improve Service access time
                 Key: FELIX-4692
                 URL: https://issues.apache.org/jira/browse/FELIX-4692
             Project: Felix
          Issue Type: Improvement
          Components: Framework
    Affects Versions: framework-4.4.1
            Reporter: Felix Meschberger
            Assignee: Felix Meschberger
             Fix For: framework-4.6.0


Currently the ServiceRegistry takes roughly 1ms to access a single service. In 
a reasonably large system, this may over time consume considerable time.

For example in our inhouse system sporting roughly 5000 services with 15'000 
service accesses during startup, these accesses acount for almost 15 seconds or 
roughly 25-30% of the total startup time.

Internally all accesses to services are handled with a Filter even if the 
service is simply retrieved with the service name without a filter. This causes 
a considerable overhead.

A simple improvement is to keep services not only in a global Capabitliy Set 
accessible through generic filters but also keep such a set for each registered 
service name.

The measured improvement of this change is substantial: accessing these 15'000 
services now only takes roughly 3 seconds or 0.2 ms per service or 5 times 
faster.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to