perf: save memory by sharing selector objects in filesystemstylecache ---------------------------------------------------------------------
Key: TRINIDAD-2032 URL: https://issues.apache.org/jira/browse/TRINIDAD-2032 Project: MyFaces Trinidad Issue Type: Improvement Components: Skinning Reporter: Jeanne Waldman Assignee: Jeanne Waldman We can save memory if we store Selectors in a <Selector, Selector> map at the FileSystemStyleCache level, and reuse where we can. The implementation will be similar to what we did in TRINIDAD-2025 where we reused Style objects. Selector objects are only 16 bytes each, but each FileSystemStyleCache$StylesImpl instance creates about 4500 of them for our complicated skin. Before Selector sharing: FSSC$Entry about 335K each of retained size. FSSC$StylesImpl about 214K each of retained size run a page in 3 diff browsers, and we have 13402 Selector objects, total 214K retained size After Selector sharing: FSSC$Entry about 263K each of retained size. FSSC$StylesImpl about 142K each of retained size run a page in 3 diff browsers, and we have 4533 Selector objects using 72.5K Retained Size -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira