Jukka Zitting created OAK-1027:
----------------------------------

             Summary: Avoid turning multivalued properties to String arrays
                 Key: OAK-1027
                 URL: https://issues.apache.org/jira/browse/OAK-1027
             Project: Jackrabbit Oak
          Issue Type: Improvement
          Components: core
            Reporter: Jukka Zitting
            Assignee: Jukka Zitting


Many places especially in the security code use String arrays as an 
intermediate representation for multivalued name and string properties. 
Unfortunately this practice leads to quite a bit of extra memory allocation and 
extra work in performance-critical places like AC evaluation.

For example, a significant percentage of the time in the SetProperty benchmark 
goes to PrivilegeUtil.readDefinitions(), just because of the array conversion 
that requires a number of extra object allocations and at least two extra 
iterations over the relevant value strings.

That extra work could be avoided in readDefinitions() and other similar places 
if the Iterable<String> return type of PropertyState.getValues() was used 
directly instead of a String array.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to