sounds good to me. stefan
>-----Original Message----- >From: Carsten Ziegeler [mailto:[email protected]] >Sent: Thursday, March 24, 2016 8:39 AM >To: Sling Developers >Subject: [RT] Enhance script caching > >Hi, > >the way the current script cache works is really not optional: it takes >information from the request as the key, namely the extension, the >selectors, the target resource type and the target resource super type. > >As recently discussed, we should remove the support of >Resource#getResourceSuperType which makes things much easier including >caching. > >But the above way has one major drawback: the cache (key) does not take >into account which scripts are available, it is based on the number of >possible combinations of extension and selectors for urls - which >usually is unlimited. For example, if only an html script exists for a >resource type (no scripts for specific selectors), requesting >foo.a.html, foo.b.html, foo.html result in three different cache entries >all pointing to the same. Which means with extensive use of selectors, >the cache becomes useless and ineffective. > >So rather caching the endless combinations, we should cache what is >available: for a resource type we can cache the combination of >extensions and selectors where scripts exist for. This is usually a very >small number. The cache can also know the resource type hierarchy and >then becomes really effective as it can simply traverse the cached >information top to bottom to find the script. With the right data >structures this should really be simple to implement. > >Regards >Carsten >-- >Carsten Ziegeler >Adobe Research Switzerland >[email protected]
