2024 Clojure 状态调查中分享您的想法!

欢迎!有关本站如何工作的更多信息,请参阅关于页面。

0
core.cache

ARC 和 CAR 算法看起来都可以在 LIRS 和 LRU 算法的基础上进行改进。具体来说,它们都能更好地保持缓存中频繁使用的数据项。

来自:http://en.wikipedia.org/wiki/Cache_algorithms#Examples

自适应替换缓存 (ARC)
在 LRU 和 LFU 之间不断平衡,以提高综合结果。ARC 通过使用有关最近移除的缓存项的信息来动态调整保护段和试用期段的大小,以最大限度地利用可用的缓存空间,从而改进了 SLRU。

带有自适应替换的时钟 (CAR)
结合了自适应替换缓存 (ARC) 和 CLOCK。CAR 的性能与 ARC 相当,并且比 LRU 和 CLOCK 有显著的性能优势。与 ARC 类似,CAR 是自调节的,无需用户指定的魔法参数。

关于 ARC 的更多详细信息见 http://blog.acolyer.org/2014/10/08/outperforming-lru-with-an-adaptive-replacement-cache-algorithm/,相关论文在 http://dbs.uni-leipzig.de/file/ARC.pdf

有关 CAR 的详细信息见 https://www.usenix.org/conference/fast-04/car-clock-adaptive-replacement

如果您对此有兴趣,我可以进行基准测试,并为这些功能编写补丁。

2 答案

0

评论者:seancorfield

如果您仍然对调查和基准测试此感兴趣,我愿意接受添加这些功能的补丁。

0
...