You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Jeanne Waldman (JIRA)" <de...@myfaces.apache.org> on 2010/02/02 04:22:40 UTC

[jira] Created: (TRINIDAD-1702) performance: decrease memory of FileSystemStyleCache by reusing CSSStyle objects.

performance: decrease memory of FileSystemStyleCache by reusing CSSStyle objects.
---------------------------------------------------------------------------------

                 Key: TRINIDAD-1702
                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1702
             Project: MyFaces Trinidad
          Issue Type: Improvement
          Components: Skinning
    Affects Versions: 1.2.13-core 
            Reporter: Jeanne Waldman
            Assignee: Jeanne Waldman
         Attachments: CSSStyleKeyPatch12122.patch

Our performance team gave me the following statistics:

                                                              Objects:        Shallow Heap    Retained
Heap
SkinStyleProvider                                    13               723B             540M
FileSystemStyleCache$Entry               71               1704B            536M
FileSystemStyleCache$StyleImpl       71               2272B            533M
CSSStyle                                          315,431               7.5M             518M

The application they are testing has 13 skins, therefore there are 13 SkinStyleProvider objects.
Each css file has about 4500 selectors in this use case. 

In FileSystemStyleCache's StyleImpl, we create a new CSSStyle object for every selector, even though many of the selectors have the same css property names/values. E.g., .af_inputText_xyz, .af_selectOneChoice_xyz, .af_selectManyCheckbox_xyz {font-weight: bold; color: black} 

To decrease the memory used, in StyleImpl we can reuse CSSStyle objects where they have the same css property name and values. This small change saves 56% of the memory used.
(Note: More memory should be saved in other ways, but this will be a different JIRA issue).

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


[jira] Commented: (TRINIDAD-1702) performance: decrease memory of FileSystemStyleCache by reusing CSSStyle objects.

Posted by "Jeanne Waldman (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/TRINIDAD-1702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12862749#action_12862749 ] 

Jeanne Waldman commented on TRINIDAD-1702:
------------------------------------------

This fix was not perfect. See TRINIDAD-1782 for the follow-up fix. If this fix has to be backported, make sure to backport that fix as well.

> performance: decrease memory of FileSystemStyleCache by reusing CSSStyle objects.
> ---------------------------------------------------------------------------------
>
>                 Key: TRINIDAD-1702
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1702
>             Project: MyFaces Trinidad
>          Issue Type: Improvement
>          Components: Skinning
>    Affects Versions: 1.2.13-core 
>            Reporter: Jeanne Waldman
>            Assignee: Jeanne Waldman
>             Fix For: 1.2.14-core 
>
>         Attachments: CSSStyleKeyPatch12122.patch
>
>
> Our performance team gave me the following statistics:
>                                                               Objects:        Shallow Heap    Retained
> Heap
> SkinStyleProvider                                    13               723B             540M
> FileSystemStyleCache$Entry               71               1704B            536M
> FileSystemStyleCache$StyleImpl       71               2272B            533M
> CSSStyle                                          315,431               7.5M             518M
> The application they are testing has 13 skins, therefore there are 13 SkinStyleProvider objects.
> Each css file has about 4500 selectors in this use case. 
> In FileSystemStyleCache's StyleImpl, we create a new CSSStyle object for every selector, even though many of the selectors have the same css property names/values. E.g., .af_inputText_xyz, .af_selectOneChoice_xyz, .af_selectManyCheckbox_xyz {font-weight: bold; color: black} 
> To decrease the memory used, in StyleImpl we can reuse CSSStyle objects where they have the same css property name and values. This small change saves 56% of the memory used.
> (Note: More memory should be saved in other ways, but this will be a different JIRA issue).

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


[jira] Resolved: (TRINIDAD-1702) performance: decrease memory of FileSystemStyleCache by reusing CSSStyle objects.

Posted by "Jeanne Waldman (JIRA)" <de...@myfaces.apache.org>.
     [ https://issues.apache.org/jira/browse/TRINIDAD-1702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jeanne Waldman resolved TRINIDAD-1702.
--------------------------------------

       Resolution: Fixed
    Fix Version/s: 1.2.14-core 

> performance: decrease memory of FileSystemStyleCache by reusing CSSStyle objects.
> ---------------------------------------------------------------------------------
>
>                 Key: TRINIDAD-1702
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1702
>             Project: MyFaces Trinidad
>          Issue Type: Improvement
>          Components: Skinning
>    Affects Versions: 1.2.13-core 
>            Reporter: Jeanne Waldman
>            Assignee: Jeanne Waldman
>             Fix For: 1.2.14-core 
>
>         Attachments: CSSStyleKeyPatch12122.patch
>
>
> Our performance team gave me the following statistics:
>                                                               Objects:        Shallow Heap    Retained
> Heap
> SkinStyleProvider                                    13               723B             540M
> FileSystemStyleCache$Entry               71               1704B            536M
> FileSystemStyleCache$StyleImpl       71               2272B            533M
> CSSStyle                                          315,431               7.5M             518M
> The application they are testing has 13 skins, therefore there are 13 SkinStyleProvider objects.
> Each css file has about 4500 selectors in this use case. 
> In FileSystemStyleCache's StyleImpl, we create a new CSSStyle object for every selector, even though many of the selectors have the same css property names/values. E.g., .af_inputText_xyz, .af_selectOneChoice_xyz, .af_selectManyCheckbox_xyz {font-weight: bold; color: black} 
> To decrease the memory used, in StyleImpl we can reuse CSSStyle objects where they have the same css property name and values. This small change saves 56% of the memory used.
> (Note: More memory should be saved in other ways, but this will be a different JIRA issue).

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