我一直在想一种方法来重写下面的代码以提高数组中的缓存性能(通过减少缓存中的未命中)。
我知道数组逐行(按顺序)存储在内存中,所以 ary[0][0], ary[0][1], ary[0][2],....ary[1] [0]、ary[1][1]、ary[1][2]...ary[50][0]、ary[50][1]...ary[50][50]。但是,我不确定如何使用此信息来帮助我弄清楚如何修改循环以提高缓存性能。
for (c = 0; c < 50; c++)
for (d = 0; d < 50; d++)
ary[d][c] = ary[d][c] + 1;