我读过关于空间和时间的地方。
就几句话。
时间局部性:程序经常重复访问相同的内存位置。
空间局部性:程序也经常重复访问相邻的内存位置。
现在我要分析以下代码以查找所有出现的时间和空间参考局部性。
for (int i = 0, j = 10; i < 100; i++)
a[i] = j++;
我只知道以下几点。
空间
a[i] = j++;参考后a[i]我们即将参考a[i+1]。- 执行所有这些操作的指令彼此相邻地存储在内存中。
颞
i与 100 相比。i加一:i++.- 赋值
a[i] = j++用作i数组索引。 - 用于
a索引每个a[i]. j由 assignment 中的 1 递增a[i] = j++。
那么我在所有这些方面都是正确的吗?我是否错过了其他东西?