绝大部分CPU都有一个cache,许多CPU还有二级cache(相对于一级cache,二级cache容量大一些,但是速度慢一些)。如果在访问数据时,数据没有在cache中,则成为cache没有命中(cache miss),这是需要将数据从内存加载到cache中,这个过程非常慢,因此要尽量保证cache的命中。
如果提高cache的命中率呢?
要将频繁访问的数据集中存放:将频繁访问的数据按照顺序保存,而不要使用指针。这样,最常用的数据会尽可能的保存在一级cache中。
顺序访问数据:在cache miss后,包含需要访问数据在内的一段数据会被加载到cache中,如果顺序访问,就可以提高cache的命中。
避免同时遍历多个比较大的数据buffer:多个缓冲区在cache上互相冲突对导致cache miss的概率提高。
阅读(9769) | 评论(0) | 转发(0) |