[
https://issues.apache.org/jira/browse/FELIX-4692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14253374#comment-14253374
]
Felix Meschberger commented on FELIX-4692:
------------------------------------------
[~cziegeler] For the reasons stated by [~rickhall] I would not apply the patch
yet. Looking at the code, it really *is* strange that this patch exhibits such
a dramatic improvement. I wanted to find out, what actually is going on in the
indexed capability set which really should have a quick (or almost as quick)
exit as my patch.
> 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
>
> Attachments: FELIX-4692.diff
>
>
> 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)