[ 
https://issues.apache.org/jira/browse/SLING-6635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15906664#comment-15906664
 ] 

Oliver Lietz commented on SLING-6635:
-------------------------------------

Besides LRU we should look at TinyLFU. See:

* [TinyLFU: A Highly Efficient Cache Admission 
Policy|http://www.cs.technion.ac.il/~gilga/TinyLFU_PDP2014.pdf] (Update: 
https://arxiv.org/pdf/1512.00727.pdf)
* https://github.com/ben-manes/caffeine/wiki/Efficiency
* SOLR-8241
* etc.

> Implement LRU Cache for SlingServletResolver
> --------------------------------------------
>
>                 Key: SLING-6635
>                 URL: https://issues.apache.org/jira/browse/SLING-6635
>             Project: Sling
>          Issue Type: Improvement
>          Components: Servlets
>    Affects Versions: Servlets Resolver 2.4.10
>            Reporter: Jörg Hoh
>
> During the servlet resolution all results are stored for later reuse in a 
> ConcurrentHashMap. In parallel the maximum cache size is configured and 
> always controlled.
> If this max cachesize is reached, no more results are stored in the hashmap; 
> if the load pattern has changed, this could result in a case, that many/all 
> servlet resolutions are no longer stored in cache.
> It would be good, if the cache employs a LRU strategy to keep often resolved 
> AbstractResourceCollectors in cache and avoid the penalty of cache misses. 
> Limiting the cache size would still be useful and required.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to