局部性:为什么刚用过的附近往往还会再用?

局部性:为什么刚用过的附近往往还会再用?

局部性不是“只看本地”,而是活动常在某种邻近范围内聚集:刚访问过的对象较可能再次被访问,这是时间局部性;与它相邻的对象较可能随后被访问,这是空间局部性。

电脑缓存之所以有效,正是因为程序通常不是随机读取全部内存。处理一列数据时,下一步多半仍在附近;系统把一小片近期数据放在更快的位置,就能减少等待。书桌上把常用笔、纸和眼镜放在伸手可及处,也是同一结构的日常版本。

局部性与“相关性”不同。相邻内容可能毫无意义,远处信息也可能最关键;局部性只描述使用如何分布,不证明什么应该重要。它与缓存的关系也不是同义:局部性是一种模式,缓存是利用这种模式的安排。理解这个边界,能帮助我们判断何时集中资源会提高效率,何时反而会把注意困在熟悉的小范围里。


了解 Geoffrey Chen 的更多信息

订阅后即可通过电子邮件收到最新文章。