You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "David Savage (JIRA)" <ji...@apache.org> on 2010/02/17 17:29:27 UTC

[jira] Created: (FELIX-2092) Improve memory profile of model elements by using arrays and null objects vs HashSets to store parts of model

Improve memory profile of model elements by using arrays and null objects vs HashSets to store parts of model
-------------------------------------------------------------------------------------------------------------

                 Key: FELIX-2092
                 URL: https://issues.apache.org/jira/browse/FELIX-2092
             Project: Felix
          Issue Type: Improvement
          Components: Sigil
            Reporter: David Savage


In large repositories the amount of meta data that is held in memory can cause OutOfMemoryErrors if an attempt is made to cache data

Candidate patches for improving the profile include, BundleModelElement (imports, exports, requires) and AbstractModelElement.meta which are the main offenders according to YourKit analysis

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (FELIX-2092) Improve memory profile of model elements by using arrays and null objects vs HashSets to store parts of model

Posted by "David Savage (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-2092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834836#action_12834836 ] 

David Savage commented on FELIX-2092:
-------------------------------------

There are a few HashSet's hanging around these have a tendency to chew up memory rather quickly so I've now replaced them with arrays - 

I'll bear the ArrayList suggestion in mind - may offer a good trade off between memory and performance...with the patches I've made the code is now memory efficient which was my initial goal as with large repos like the spring enterprise repo this could lead to the ant or eclipse barfing

Using arrays I now have to create lists on demand for other parts of the code so may be a bit less cpu efficient - though I'm using Arrays.asList that's likely to get git compiled pretty quickly in most vm's I would guess

> Improve memory profile of model elements by using arrays and null objects vs HashSets to store parts of model
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-2092
>                 URL: https://issues.apache.org/jira/browse/FELIX-2092
>             Project: Felix
>          Issue Type: Improvement
>          Components: Sigil
>            Reporter: David Savage
>            Assignee: David Savage
>            Priority: Minor
>             Fix For: sigil-1.0.0
>
>
> In large repositories the amount of meta data that is held in memory can cause OutOfMemoryErrors if an attempt is made to cache data
> Candidate patches for improving the profile include, BundleModelElement (imports, exports, requires) and AbstractModelElement.meta which are the main offenders according to YourKit analysis

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (FELIX-2092) Improve memory profile of model elements by using arrays and null objects vs HashSets to store parts of model

Posted by "David Savage (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-2092?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Savage updated FELIX-2092:
--------------------------------

    Priority: Minor  (was: Major)

> Improve memory profile of model elements by using arrays and null objects vs HashSets to store parts of model
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-2092
>                 URL: https://issues.apache.org/jira/browse/FELIX-2092
>             Project: Felix
>          Issue Type: Improvement
>          Components: Sigil
>            Reporter: David Savage
>            Priority: Minor
>
> In large repositories the amount of meta data that is held in memory can cause OutOfMemoryErrors if an attempt is made to cache data
> Candidate patches for improving the profile include, BundleModelElement (imports, exports, requires) and AbstractModelElement.meta which are the main offenders according to YourKit analysis

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (FELIX-2092) Improve memory profile of model elements by using arrays and null objects vs HashSets to store parts of model

Posted by "Richard S. Hall (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-2092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834827#action_12834827 ] 

Richard S. Hall commented on FELIX-2092:
----------------------------------------

Are you talking about actual arrays or ArrayList? I was using arrays in the framework to be more efficient, but I've recently made the decision to move to ArrayLists instead since after looking into their implementation details more closely, it seems they are pretty efficient.

> Improve memory profile of model elements by using arrays and null objects vs HashSets to store parts of model
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-2092
>                 URL: https://issues.apache.org/jira/browse/FELIX-2092
>             Project: Felix
>          Issue Type: Improvement
>          Components: Sigil
>            Reporter: David Savage
>            Priority: Minor
>
> In large repositories the amount of meta data that is held in memory can cause OutOfMemoryErrors if an attempt is made to cache data
> Candidate patches for improving the profile include, BundleModelElement (imports, exports, requires) and AbstractModelElement.meta which are the main offenders according to YourKit analysis

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (FELIX-2092) Improve memory profile of model elements by using arrays and null objects vs HashSets to store parts of model

Posted by "David Savage (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-2092?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Savage resolved FELIX-2092.
---------------------------------

       Resolution: Fixed
    Fix Version/s: sigil-1.0.0
         Assignee: David Savage

fixed main offenders - open separate issues for other elements if further enhancements are required

> Improve memory profile of model elements by using arrays and null objects vs HashSets to store parts of model
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-2092
>                 URL: https://issues.apache.org/jira/browse/FELIX-2092
>             Project: Felix
>          Issue Type: Improvement
>          Components: Sigil
>            Reporter: David Savage
>            Assignee: David Savage
>            Priority: Minor
>             Fix For: sigil-1.0.0
>
>
> In large repositories the amount of meta data that is held in memory can cause OutOfMemoryErrors if an attempt is made to cache data
> Candidate patches for improving the profile include, BundleModelElement (imports, exports, requires) and AbstractModelElement.meta which are the main offenders according to YourKit analysis

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.