On 27.3.13 14:41, Jukka Zitting wrote:
Drilling down to the NodeDelegate.getProperty() method, we have the
following distribution of time:

     NodeDelegate.getProperty()
       95% NodeDelegate.getChildLocation()
        5% TreeImpl.internalGetProperty() via NodeLocation.getProperty()

See why I haven't been too excited about the Location concept...

This is caused by the getChildLocation taking a relative path instead of relying on the client to navigate the hierarchy as necessary. This effectively duplicates the effort of interpreting paths: once in NodeDelegate.getChildLocation() and once in TreeLocation.getChild(). See OAK-426 for some discussion.

I did a quick check and changed TeeLocation.getChild() to only take a name instead of a relative path:

# ReadPropertyTest     min     10%     50%     90%     max       N
Oak-Default (before)    12      13      14      15     128    4166
Oak-Default (after)      8       8       8      10      99    6896

As said earlier, I suggest to change TreeLocation.getChild() to only take names, not relative paths.

Michael

Reply via email to