C 为什么大跨步的空间局部性较差?

C 为什么大跨步的空间局部性较差?,c,computer-science,C,Computer Science,我读了《计算机系统:程序员的观点》。第六章中的局部性部分。这本书认为在内存中大步跳跃的程序空间局部性很差。 那么,如何得出这个结论呢?谢谢。想想空间位置的定义: 空间位置 如果特定的内存位置在特定的时间被引用,那么很可能在不久的将来会引用附近的内存位置。在这种情况下,通常尝试猜测当前参考周围区域的大小和形状,为其准备更快的访问是值得的 因此,如果您正在访问的位置不在附近,考虑到您希望在内存周围“大踏步”,那么您的程序的空间局部性很差 多谢各位。好的,strieds-1000应该比strieds-

我读了《计算机系统:程序员的观点》。
第六章中的局部性部分。这本书认为在内存中大步跳跃的程序空间局部性很差。


那么,如何得出这个结论呢?
谢谢。

想想空间位置的定义:

空间位置 如果特定的内存位置在特定的时间被引用,那么很可能在不久的将来会引用附近的内存位置。在这种情况下,通常尝试猜测当前参考周围区域的大小和形状,为其准备更快的访问是值得的


因此,如果您正在访问的位置不在附近,考虑到您希望在内存周围“大踏步”,那么您的程序的空间局部性很差

多谢各位。好的,strieds-1000应该比strieds-1快。但是striedes-2是否会比striedes-1快呢?我想这取决于页面和缓存大小等因素。谢谢。我认为答案是:由于空间位置的原因,我们可以预期,未命中后复制块的成本将通过随后对该块内其他对象的引用进行摊销。