Анализировать код для пространственной и временной локальности

У меня есть вопрос относительно пространственной и временной локальности. Я читал в теории курса, что

пространственная локальность

Если есть ссылка на один элемент, вероятность другого адреса поблизости будет скоро указана

временная локальность

Один элемент, на который имеется ссылка в одной точке в время на него, как правило, скоро снова обратятся.

Хорошо, но как мне увидеть это в коде? Я думаю, что понял концепцию временной локальности, но я еще не понимаю пространственную локальность. Например, в этом цикле

for(i = 0; i < 20; i++)
    for(j = 0; j < 10; j++)
        a[i] = a[i]*j;

внутренний цикл будет вызывать один и тот же адрес памяти при обращении к [i] десять раз, так что я думаю, это пример временной локальности. Но есть ли пространственная локальность также в приведенном выше цикле?

6
задан starcorn 3 November 2010 в 21:52
поделиться