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

John Ross commented on ARIES-1357:
----------------------------------

I'm still not sure if you measured performance based solely on the contents of 
this patch, but particularly without the one in ARIES-1359. I'm more concerned 
about the unintended side effects of this patch than in ARIES-1359 or 
ARIES-1356. If you have a test case you can attach that demonstrates the before 
and after effects of this patch, that would be helpful.

This patch basically does three things.

(1) Computes the capabilities of each new subsystem manifest once rather than 
each time getCapabilities is called.

(2) Caches constituents that have been identified as content. However, the 
corresponding capabilities are still computed each time getCapabilities is 
called. I suppose the main idea here is to avoid repeatedly iterating over many 
constituents that are not content? If so, I would like to understand what these 
non-content constituents are. Dependencies?

(3) Stores the value of a few other manifest related headers in variables local 
to BasicSubsystem. This seems dubious to me. Those values are already cached in 
memory as part of the subsystem and deployment manifests. I would be very 
surprised if this is having a noticeable performance benefit.

> BasicSubsystem can be used by the subsystem install process a factor 6 times 
> faster
> -----------------------------------------------------------------------------------
>
>                 Key: ARIES-1357
>                 URL: https://issues.apache.org/jira/browse/ARIES-1357
>             Project: Aries
>          Issue Type: Improvement
>          Components: Subsystem
>    Affects Versions: subsystem-core-1.2.0, subsystem-2.0.1
>         Environment: linux windows java
>            Reporter: Bas
>            Assignee: John Ross
>              Labels: patch, performance
>             Fix For: subsystem-core-1.2.0, subsystem-2.0.1
>
>         Attachments: patch-basicsubsystem.patch, 
> subsystem-basicsubsystem-patch.txt
>
>
> The problem was poor performance while installing a subsystem on a container 
> with 200+ subsystems installed.
> While doing performance analyses on the subsystem install process we noticed 
> the BasicSubsystem is working a lot with its manifest instead of 
> pre-calculating data that is used a lot.
> While using the pre-patch version of BasicSubsystem a subsystem install 
> (while having 200+ running subsystems) could take more than a minute. While 
> using the patched version where we pre-calculate highly used data when a new 
> subsystem manifest or deployment manifest is set we could bring it down to 10 
> seconds. We only pre-calculated the data that was highly used.



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

Reply via email to