分析空间和时间局部性的代码

sta*_*orn 6 spatial computer-architecture temporal

您对空间和时间局部性有一些疑问.我在课程理论中读过这篇文章

空间位置

如果引用了一个项目,则很快就会引用其他地址关闭的可能性

时间局部性

在一个时间点引用的一个项目很快就会被引用.

好的,但我怎么在代码中看到它?我想我理解了时间局部性的概念,但我还不了解空间局部性.例如在这个循环中

for(i = 0; i < 20; i++)
    for(j = 0; j < 10; j++)
        a[i] = a[i]*j;
Run Code Online (Sandbox Code Playgroud)

当访问[i]十次时,内部循环将调用相同的内存地址,因此我猜测时间局部性的示例.但是在上面的循环中是否还有空间局部性?

sse*_*vic 6

当然.例如,在引用[5]之后,您将要引用[6].