You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Guillaume Nodet (JIRA)" <ji...@apache.org> on 2015/03/11 20:04:39 UTC

[jira] [Comment Edited] (FELIX-4656) Improve memory usage and speed of the resolver

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

Guillaume Nodet edited comment on FELIX-4656 at 3/11/15 7:04 PM:
-----------------------------------------------------------------

The missing methods are fixed.  I hit the problem too and I've pushed the fixes to my branch.
The CopyOnWriteList is similar to the CopyOnWriteArrayList but avoids the synchronization overhead, as the resolver is single threaded.


was (Author: gnt):
The missing methods are fixed.  I hit the problem too and I've pushed the fixes to my branch.
The CopyOnWriteList is similar to the CopyOnWriteArrayList but avoids the synchronization overhead, as the result is single threaded.

> Improve memory usage and speed of the resolver
> ----------------------------------------------
>
>                 Key: FELIX-4656
>                 URL: https://issues.apache.org/jira/browse/FELIX-4656
>             Project: Felix
>          Issue Type: Improvement
>          Components: Resolver
>            Reporter: Guillaume Nodet
>            Assignee: Guillaume Nodet
>             Fix For: resolver-1.2.0
>
>
> During big resolutions (> 100 bundles), the memory consumption can become very huge, mostly by keeping a lot of copies of the Candidates object.
> I want to lower the memory requirements of the resolver without touching the algorithm at all (which would be a different improvement).
> This can be done by using :
>   * lower memory intensive collections
>   * do smart copies of those collections (where they would only actually copy the data when modify)
> The second item is slightly more difficult to achieve, as the maps in the Candidate objects contains Set and List, which would mean that those must be copied too.  So it could actually be complementary, if achievable.
> For the first one, the HashMap and HashSet are very memory intensive.  I'll introduce two new collections which will lower the requirements.



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