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
...