cache能提高多少效率,不仅取决于cache的访问速度和命中率,还取决于位于cache下层的访问速度。
比如cpu L1的访问速度是1 ns, 内存的访问速度是10 ns,在90%命中的情况下,平均访问速度是1*0.9 + 10*0.1 = 1.9 ns,是L1速度2倍不到一点。
如果一个逻辑读需要的时间是0.05ms, 一个物理读需要5ms,在90%命中的情况下,平均访问需要0.05*0.9 + 5*0.1 = 0.545ms,是逻辑读速度的10.5倍。
也就是说如果一个设备相对于cache越慢,则需要更高的命中率才能达到和cache相近的速度。