[ https://issues.apache.org/jira/browse/OAK-10639?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Joerg Hoh updated OAK-10639: ---------------------------- Description: NodeImpl.isNodeType() calls ReadOnlyTypeManager.isNodeType(), but calculates all mixinTypes directly, even if the mixinTypes are not required in ReadOnlyTypeManager.isNodeType(). The calculation of the mixinTypes could be converted into a Supplier<> type; and the resolution could be done only when the mixinTypes are actually required. This would save a few CPU cycles for the common case, where the mixinTypes are not required. was: NodeImpl.isNodeType() calls ReadOnlyTypeManager.isNodeType(), but calculates all mixinTypes directly, even if the mixinTypes are not required in ReadOnlyTypeManager.isNodeType(). The calculation of the mixinTypes could be convered into a Supplier<> type; and the resolution could be done only when the mixinTypes are actually required. This would save a few CPU cycles for the common case, where the mixinTypes are not required. > NodeImpl: calculate mixinTypes lazy > ----------------------------------- > > Key: OAK-10639 > URL: https://issues.apache.org/jira/browse/OAK-10639 > Project: Jackrabbit Oak > Issue Type: Task > Components: jcr > Reporter: Joerg Hoh > Assignee: Joerg Hoh > Priority: Major > > NodeImpl.isNodeType() calls ReadOnlyTypeManager.isNodeType(), but calculates > all mixinTypes directly, even if the mixinTypes are not required in > ReadOnlyTypeManager.isNodeType(). > The calculation of the mixinTypes could be converted into a Supplier<> type; > and the resolution could be done only when the mixinTypes are actually > required. This would save a few CPU cycles for the common case, where the > mixinTypes are not required. -- This message was sent by Atlassian Jira (v8.20.10#820010)