Spatiale vs Temporelle de la localité

Je comprends les définitions des termes, mais je vais avoir de la difficulté à appliquer les concepts de code. Pour un exercice, on nous demande de décrire si le code suivant est spatial ou temporel:

for (int i=0; i<10; i++) {
    printf(some_array[i]);
}

J'ai l'impression que c'est spatiale localité parce que quand un indice du tableau est accessible, le prochain indice de l'emplacement de la mémoire sera accessible dès que itération de la boucle. Est-ce la bonne façon de le regarder? Qu'est ce qui détermine si le code est temporal et spatiale? D'autres exemples seraient grands.

double possible de l'analyse de code spatiale et temporelle de la localité
L'utilisation de "printf" d'un exemple pour le sujet de la nouvelle mise en mémoire cache et les accès à la mémoire est un très mauvais choix. La surcharge de printf est énorme par rapport à l'endroit où les éléments de some_array sont. En outre, il est vraiment une mauvaise idée de printf à partir d'un non const chaîne de format. Ce qui se passe si some_array[0] = "%s"? De mieux à faire printf("%s",some_array[i]) ou puts(some_array[i]).

OriginalL'auteur raphnguyen | 2011-08-31