You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Stefan Guggisberg (JIRA)" <ji...@apache.org> on 2010/05/10 13:58:49 UTC

[jira] Created: (JCR-2625) spi2davex: reduce memory footprint of Node/PropertyInfoImpl

spi2davex: reduce memory footprint of Node/PropertyInfoImpl
-----------------------------------------------------------

                 Key: JCR-2625
                 URL: https://issues.apache.org/jira/browse/JCR-2625
             Project: Jackrabbit Content Repository
          Issue Type: Improvement
          Components: jackrabbit-spi-commons, jackrabbit-spi2dav
            Reporter: Stefan Guggisberg


the in-memory footprint of o.a.jackrabbit.spi2davex.NodeinfoImpl & PropertyInfoImp is quite big. 

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


[jira] Updated: (JCR-2625) spi2davex: reduce memory footprint of Node/PropertyInfoImpl

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

Stefan Guggisberg updated JCR-2625:
-----------------------------------

    Attachment: leaner_item_info_objects.patch

patch with proposed changes.

according to my profiling tests, the patch reduced the in-memory footprint by 65% (NodeInfoImpl) and 35% (PropertyInfoImpl).

> spi2davex: reduce memory footprint of Node/PropertyInfoImpl
> -----------------------------------------------------------
>
>                 Key: JCR-2625
>                 URL: https://issues.apache.org/jira/browse/JCR-2625
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-spi-commons, jackrabbit-spi2dav
>            Reporter: Stefan Guggisberg
>         Attachments: leaner_item_info_objects.patch
>
>
> the in-memory footprint of o.a.jackrabbit.spi2davex.NodeinfoImpl & PropertyInfoImp is quite big. 

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


[jira] Updated: (JCR-2625) spi2davex: reduce memory footprint of Node/PropertyInfoImpl

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

Stefan Guggisberg updated JCR-2625:
-----------------------------------

    Status: Patch Available  (was: Open)

attached a patch with proposed changes

> spi2davex: reduce memory footprint of Node/PropertyInfoImpl
> -----------------------------------------------------------
>
>                 Key: JCR-2625
>                 URL: https://issues.apache.org/jira/browse/JCR-2625
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-spi-commons, jackrabbit-spi2dav
>            Reporter: Stefan Guggisberg
>         Attachments: leaner_item_info_objects.patch
>
>
> the in-memory footprint of o.a.jackrabbit.spi2davex.NodeinfoImpl & PropertyInfoImp is quite big. 

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


[jira] Updated: (JCR-2625) spi2davex: reduce memory footprint of Node/PropertyInfoImpl

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

Stefan Guggisberg updated JCR-2625:
-----------------------------------

    Priority: Minor  (was: Major)

> spi2davex: reduce memory footprint of Node/PropertyInfoImpl
> -----------------------------------------------------------
>
>                 Key: JCR-2625
>                 URL: https://issues.apache.org/jira/browse/JCR-2625
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-spi-commons, jackrabbit-spi2dav
>            Reporter: Stefan Guggisberg
>            Priority: Minor
>         Attachments: leaner_item_info_objects.patch
>
>
> the in-memory footprint of o.a.jackrabbit.spi2davex.NodeinfoImpl & PropertyInfoImp is quite big. 

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


[jira] Commented: (JCR-2625) spi2davex: reduce memory footprint of Node/PropertyInfoImpl

Posted by "Stefan Guggisberg (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12868126#action_12868126 ] 

Stefan Guggisberg commented on JCR-2625:
----------------------------------------

> I was wondering if it makes sense to build the StringCache right into the NameFactoryImpl, instead of using it before each call to getQName() ? Other modules might also benefit from such an optimization. WDYT?

yes, maybe. however, i prefered to keep the scope of the changes for this issue local. 

using StringCache in NameFactoryImpl should IMO be  proposed in a separate issue as it might cause unwanted side-effects (just my gut feeling ;)

> spi2davex: reduce memory footprint of Node/PropertyInfoImpl
> -----------------------------------------------------------
>
>                 Key: JCR-2625
>                 URL: https://issues.apache.org/jira/browse/JCR-2625
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-spi-commons, jackrabbit-spi2dav
>            Reporter: Stefan Guggisberg
>            Priority: Minor
>         Attachments: leaner_item_info_objects.patch
>
>
> the in-memory footprint of o.a.jackrabbit.spi2davex.NodeinfoImpl & PropertyInfoImp is quite big. 

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


[jira] Updated: (JCR-2625) spi2davex: reduce memory footprint of Node/PropertyInfoImpl

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

Stefan Guggisberg updated JCR-2625:
-----------------------------------

           Status: Resolved  (was: Patch Available)
    Fix Version/s: 2.2.0
       Resolution: Fixed

committed patch in svn r945164

> spi2davex: reduce memory footprint of Node/PropertyInfoImpl
> -----------------------------------------------------------
>
>                 Key: JCR-2625
>                 URL: https://issues.apache.org/jira/browse/JCR-2625
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-spi-commons, jackrabbit-spi2dav
>            Reporter: Stefan Guggisberg
>            Priority: Minor
>             Fix For: 2.2.0
>
>         Attachments: leaner_item_info_objects.patch
>
>
> the in-memory footprint of o.a.jackrabbit.spi2davex.NodeinfoImpl & PropertyInfoImp is quite big. 

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


[jira] Commented: (JCR-2625) spi2davex: reduce memory footprint of Node/PropertyInfoImpl

Posted by "Marcel Reutegger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12868113#action_12868113 ] 

Marcel Reutegger commented on JCR-2625:
---------------------------------------

I was wondering if it makes sense to build the StringCache right into the NameFactoryImpl, instead of using it before each call to getQName() ? Other modules might also benefit from such an optimization. WDYT?

> spi2davex: reduce memory footprint of Node/PropertyInfoImpl
> -----------------------------------------------------------
>
>                 Key: JCR-2625
>                 URL: https://issues.apache.org/jira/browse/JCR-2625
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-spi-commons, jackrabbit-spi2dav
>            Reporter: Stefan Guggisberg
>            Priority: Minor
>         Attachments: leaner_item_info_objects.patch
>
>
> the in-memory footprint of o.a.jackrabbit.spi2davex.NodeinfoImpl & PropertyInfoImp is quite big. 

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


[jira] Commented: (JCR-2625) spi2davex: reduce memory footprint of Node/PropertyInfoImpl

Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12868210#action_12868210 ] 

Michael Dürig commented on JCR-2625:
------------------------------------

Looks good to me. Do the davex integration tests still pass with the patch applied?

Furthermore, did you check the impact of the StringCache on memory and performance? There is a similar mechanism in place already for NameFactoryImpl which works on Name instances instead of Strings.



> spi2davex: reduce memory footprint of Node/PropertyInfoImpl
> -----------------------------------------------------------
>
>                 Key: JCR-2625
>                 URL: https://issues.apache.org/jira/browse/JCR-2625
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-spi-commons, jackrabbit-spi2dav
>            Reporter: Stefan Guggisberg
>            Priority: Minor
>         Attachments: leaner_item_info_objects.patch
>
>
> the in-memory footprint of o.a.jackrabbit.spi2davex.NodeinfoImpl & PropertyInfoImp is quite big. 

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


[jira] Commented: (JCR-2625) spi2davex: reduce memory footprint of Node/PropertyInfoImpl

Posted by "Stefan Guggisberg (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12868224#action_12868224 ] 

Stefan Guggisberg commented on JCR-2625:
----------------------------------------

> Looks good to me. Do the davex integration tests still pass with the patch applied? 

yes 

> Furthermore, did you check the impact of the StringCache on memory and performance? There is a similar mechanism in place already for NameFactoryImpl which works on Name instances instead of Strings.

the StringCache drastically reduces the number of (redundant) String instances, thereby reducing memory consumption.  
i didn't notice any negative impact on performance.  


> spi2davex: reduce memory footprint of Node/PropertyInfoImpl
> -----------------------------------------------------------
>
>                 Key: JCR-2625
>                 URL: https://issues.apache.org/jira/browse/JCR-2625
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-spi-commons, jackrabbit-spi2dav
>            Reporter: Stefan Guggisberg
>            Priority: Minor
>         Attachments: leaner_item_info_objects.patch
>
>
> the in-memory footprint of o.a.jackrabbit.spi2davex.NodeinfoImpl & PropertyInfoImp is quite big. 

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