1个不稳定版本
0.1.0 | 2021年3月26日 |
---|
#39 在 #neural
69 每月下载量
44KB
661 代码行
RiteMLCR: 来自TFS的MLCR
MLCR: 基于机器学习的缓存替换
MLCR通过训练神经网络来“猜测”缓存块再次被访问之前需要多长时间。换句话说,它提供了一个有资格的猜测,来近似没有时间机器的理想Bélády算法。
MLCR较慢,因为它需要训练一个神经网络,但在许多情况下,通过极大地减少缓存未命中次数,增加的精度可以带来回报。因此,它只应在缓存介质明显慢于训练网络时使用(例如硬盘或网络下载)。
使用方法
let mut cache = ritemlcr::Cache::new();
cache.insert(1);
cache.insert(2);
cache.insert(3);
cache.insert(4);
cache.insert(100);
cache.insert(200);
cache.touch(100);
cache.touch(100);
cache.touch(1);
cache.touch(2);
cache.touch(2);
cache.touch(2);
致谢
它是对crate mlcr 的分支,但代码已进行了一些调整和改进。
许可证
此库的许可证为以下之一
- MIT许可证 LICENSE-MIT 或 http://opensource.org/licenses/MIT
- Apache License 2.0 LICENSE-APACHE 或 https://opensource.org/licenses/Apache-2.0
由您选择。
依赖项
~2MB
~35K SLoC