缓存友好代码

时间:2014-09-25 21:48:49

标签: c memory-efficient

我最近在阅读C文本的一些介绍时遇到了这个例子。没有解释为什么下面的代码在缓存友好性方面是不同的,我无法弄清楚差异。案文如下:

比较这两个代码:

// cache-friendly
int i, j;
for (i = 0; i < 10; ++i)
{
    for (j = 0; j < 20; ++j)
    {
        a[i][j] += 10;
    }
}

VS

// not cache-friendly
int i, j;
for (j = 0; j < 20; ++j)
{
    for (i = 0; i < 10; ++i)
    {
        a[i][j] += 10;
    }
}

有人看到为什么代码A与代码B相比是缓存友好的吗?

0 个答案:

没有答案