osgi:service JNDI damping performs like a one legged dog under an anesthetic
----------------------------------------------------------------------------

                 Key: ARIES-338
                 URL: https://issues.apache.org/jira/browse/ARIES-338
             Project: Aries
          Issue Type: Bug
          Components: JNDI
    Affects Versions: 0.1
            Reporter: Alasdair Nottingham
            Assignee: Alasdair Nottingham
             Fix For: 0.2


I updated some of my code to use the JNDI implementation of osgi:service which 
does the service damping and my application saw a 3x slowdown (i.e. it took 3 
second to do something it used to take 1 seconds).

It appears the problem is that every time a lookup is performed a new 
java.lang.reflect.Proxy class is generated and doing this over and over when 
the same service is looked up is expensive. Instead of doing this we can 
generate a proxy once per client BundleContext per service and cache it between 
lookups. The cache needs to be managed, so if the client goes away we clear the 
cache and if the service goes away we purge it too.

I have written the code and shown that it improves performance so I'm raising 
this JIRA so I can integrate the performance fix.



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