angela created OAK-3615: --------------------------- Summary: Add initial capacity to StringBuilder used to calculate path of a tree Key: OAK-3615 URL: https://issues.apache.org/jira/browse/OAK-3615 Project: Jackrabbit Oak Issue Type: Improvement Components: core Reporter: angela Assignee: angela Priority: Minor
while benchmarking permission evaluation on the oak level (without having oak-jcr overhead), i spotted that the {{StringBuilder}} used to calculate the path of a tree often needs to increase it's capacity. Extract from the profiler info reported in oak-run: {code} at java.util.Arrays.copyOf(Arrays.java:2882) at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100) at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390) at java.lang.StringBuilder.append(StringBuilder.java:119) at org.apache.jackrabbit.oak.plugins.tree.impl.AbstractTree.buildPath(AbstractTree.java:206) at org.apache.jackrabbit.oak.plugins.tree.impl.AbstractTree.buildPath(AbstractTree.java:205) at org.apache.jackrabbit.oak.plugins.tree.impl.AbstractTree.getPath(AbstractTree.java:197) {code} Would it make sense to initialize the {{StringBuilder}} with some initial capacity? Afaik the default is 16 which doesn't seem sufficient for a default path as we are experiencing them in an Oak instance. [~mduerig], what do you think? -- This message was sent by Atlassian JIRA (v6.3.4#6332)