[ 
https://issues.apache.org/jira/browse/ARIES-1359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14710393#comment-14710393
 ] 

John Ross commented on ARIES-1359:
----------------------------------

Applications and their constituents must be examined for matching capabilities. 
Although applications do not export anything, child subsystems are allowed to 
grab anything they want from a parent. The root subsystem must also be examined 
because bundle capabilities in the root region are fair game.

This is an optimization for a very specific case, namely one when there are 
many features with shared bundles. Nevertheless, I can see why it is effective, 
and it would not appear to hurt anything. In the future, we should seriously 
consider providing a more generally optimized system repository implementation 
that indexes the capabilities, which would also address this specific case.

Please give the updated patch a shot to see if it results in similar 
improvements. If so, I don't see any reason why it shouldn't be released to 
trunk.

> Performance improvement on the findProviders method in the SystemRepository 
> class
> ---------------------------------------------------------------------------------
>
>                 Key: ARIES-1359
>                 URL: https://issues.apache.org/jira/browse/ARIES-1359
>             Project: Aries
>          Issue Type: Improvement
>          Components: Subsystem
>    Affects Versions: subsystem-core-1.2.0, subsystem-2.0.1
>         Environment: linux windows java
>            Reporter: Bas
>            Priority: Minor
>              Labels: patch, performance
>             Fix For: subsystem-core-1.2.0, subsystem-2.0.1
>
>         Attachments: aries-1359.patch, subsystem-systemrepository-patch.txt
>
>
> Two improvements in the patch
> 1) Application subsystems are not processed by the method because application 
> subsystems do not share capabilities. (I think it works like that but maybe 
> I'm wrongly interpreting the specification)
> 2) All processed constituents are stored in a set and not processed again 
> when encountered in a different subsystem when they are being shared across 
> features. When using 60 features a shared bundle used to be processed 60 
> times.



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

Reply via email to