Tom,
You
are right on. I am using a simple filter. We just added a
GUID property to each service. Two follow up questions:
- We
ran the same tests on Felix and Knopflerfish and get 100ms
response time. This is about 50X. I am wondering there may
be something wrong in the environment. Do you think JVM
settings like Perm generation size helps? I have Xmx=2GB,
Xms=1GB and XXMaxPermSize=64MB.
- Do
you think lazy service creation may be the reason? Is lazy
creation the default? How to configure it?
- Can
you outline the steps to use ServiceTrackerCustomizer
to build index? Do you mean
trapping the registration events and build the needed
indexes?
Thank
you,
Stanley
I
was also not sure what you meant by GUID. After some
thought I think you probably mean the service id or perhaps
the service pid (service.id and service.pid properties)?
And
by lookup I assume you are using some kind of service
filter, for example "(service.id=23)" with a call to
BundleContext.getServiceReferences. I will say that the
service registry is not optimized for this kind of lookup.
You are far better keeping your own data structure that
optimizes the lookup over the set of service references and
indexes on the keys that you want to use to lookup service
references. This can easily be done with a
ServiceTrackerCustomizer.
Tom
BJ
Hargrave---05/03/2012 10:04:05 PM---What is service lookup
by GUID? Services don't have globally unique identifiers.
Can you provide more information on the specif

From:
|

BJ
Hargrave/Austin/IBM@IBMUS
|

To:
|

Equinox
development mailing list <equinox-dev@xxxxxxxxxxx>,
|

Date:
|

05/03/2012
10:04 PM
|

Subject:
|

Re:
[equinox-dev] Service Lookup by GUID very Slow
|
What
is service lookup by GUID? Services don't have globally
unique identifiers. Can you provide more information on the
specifics of your lookup? Such as the code snippet?
--
From: <Stanley_Poon@xxxxxxxx>
To: <equinox-dev@xxxxxxxxxxx>,
Date: 2012/05/03 16:54
Subject: [equinox-dev]
Service Lookup by GUID very Slow
Sent by: equinox-dev-bounces@xxxxxxxxxxx
In an experiment to have 200K of services registered, the
service lookup by GUID is exceedingly slow – more the 4
seconds per lookup.
There are enough RAM (8G) and heap (2G) allocated.
What would be the reason of the slowness of the lookup? Any
settings to start the framework to improve this?
Thanks,
Stanley_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev