局部性原理
Last updated
Last updated
重要的基本观察来自于程序的属性。我们经常利用的最重要的程序属性是局部性原理:程序倾向于重复使用它们最近使用过的数据和指令。一个被广泛接受的经验法则是,一个程序的90%的执行时间只花在10%的代码上。局部性的一个含义是,我们可以根据一个程序最近的访问情况,合理准确地预测它在不久的将来会使用哪些指令和数据。局部性原理也适用于数据访问,尽管不像代码访问那样强烈。
已经观察到两种不同类型的局部性。时间局部性说的是,最近访问的项目很可能很快就会被访问。空间局部性说的是,那些地址相近的目标往往在时间上被紧密地被引用。我们将在看到这些原则的应用。