Rob Ryan created SLING-3844: ------------------------------- Summary: Resolver.map() spends too much time looking up sling:alias Key: SLING-3844 URL: https://issues.apache.org/jira/browse/SLING-3844 Project: Sling Issue Type: Improvement Components: ResourceResolver Affects Versions: Resource Resolver 1.1.0 Reporter: Rob Ryan
In a performance test expected to reflect reasonably real-world conditions (50 concurrent users of a mixed load 'forum' type application) I found Resolver.map taking more that 30% of the time used. This was tracked primarily to checking each path element of the mapped path for sling:alias properties to substitute into the result. In consultation with [~cziegeler] and [~asanso] I proceeded to implement the inverse of Antonio's work on sling:alias for Resolver.resolve. The resulting patch is attached. In our case the Resolver.map cost fell from 30% of time used to 5%. If the resource.resolver.optimize.alias.resolution setting of the Apache Sling Resource Resolver Factory is set to false then the patch fallback to the original method of finding aliases. When the optimization is enabled the aliases are looked up in hash maps maintained by observation and queries for sling:alias along the same lines as Antonio's work. -- This message was sent by Atlassian JIRA (v6.2#6252)