为了方便实验,最近自己实现了一套缓存模拟器,以SNIA网站上提供的TRACE为输入,分别实现了FIFO,LRU,LFU,OPT,ARC等经典的缓存算法,整个模拟器通过C++实现,利用面向对象思想。代码见github
运行的大致结果如下:
下面贴出来zy-cache的LRU和OPT算法的实现,其中OPT根据自己的理解分别实现了时间最优算法optt和空间最优算法opts,分别试用于电脑内存空间充足和不足的场景使用。
LRU
|
|
opt
|
|
ARC
其中arc算法逻辑如下图
|
|
本文总阅读量 次
本文由 Yu Zhang 发表于 Yu Zhang's Blog ,采用署名-非商业性使用-禁止演绎 3.0进行许可。
非商业转载请注明作者及出处。商业转载请联系作者本人。