Анализ кода для пространственной и временной локализации - PullRequest
6 голосов
/ 04 ноября 2010

Привет, есть вопросы относительно пространственной и временной локализации. Я прочитал в теории курса, что

пространственная местность

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

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

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

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

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

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

1 Ответ

6 голосов
/ 04 ноября 2010

Конечно. Например, после ссылки на [5] вы собираетесь сослаться на [6].

...