You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "John Ross (JIRA)" <ji...@apache.org> on 2015/08/25 03:14:46 UTC

[jira] [Commented] (ARIES-1359) Performance improvement on the findProviders method in the SystemRepository class

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