Locality of reference
Locality of reference is a phenomenon that can be seen in Computer science. It says that the same value, or the place where it is stored is accessed often. There are two different kinds of locality of reference:
- Temporal locality: If a value is referenced, there is a high probability it will be referenced again a short time from now
- Spatial locality: A value is stored in a certain location in storage (memory, disk,..). If this location is referenced, it is very probable that locations that are physically close to it will be referenced as well.
There are many reasons why locality of reference occurs:
- Predictability: Well-written programs only behave in a predictable way.
- Structure of the program: Often programs act on several items, one at a time. This item will be accessed more than once as computation or processing is done.
- Linear data structures: Programs may have loops that act on arrays or lists. They reference an item by its index in the array or list.
Programs can be optimised in certain ways, to make them run faster:
- Increase the locality of reference by changing the program
- Hardware can be built to exploit the locality of reference.
- Caching is very successful because of locality of reference.