Temporelle vs Spatiale de la Localité avec les tableaux
Je suis un peu confus sur la signification de la répartition spatiale et temporelle de la localité. J'espère en la regardant avec un tableau exemple il va m'aider à mieux le comprendre.
Dans un exemple comme ceci:
A[0][1], A[0][2], UN[0][3].... etc
Est-ce à démontrer temporelle localité? Je vois la même ligne est accessible à plusieurs reprises, mais à des positions différentes... est-ce à dire une adresse différente est accessible?
Aussi, ai-je raison de dire qu'un exemple, comme ceci:
Un[1], [2], [3]... etc
Montre spatiale localité?
On l'espère, quelques précisions sur la manière temporelle et spatiale de la localité de travail dans le code réel va m'aider à mieux les comprendre.
Vous devez vous connecter pour publier un commentaire.
Spatiale et temporelle de la localité de décrire deux des caractéristiques différentes de la façon dont les programmes d'accès à des données (ou instructions). Wikipédia a un bon article sur la localité de référence.
Une séquence de références est dit avoir
spatial
localité si les choses qui sont référencés proche dans le temps sont également à proximité dans l'espace (à proximité adresses de la mémoire, à proximité de secteurs sur un disque, etc.). Une séquence est dit avoirtemporal
localité si a accès à la même chose sont regroupés dans le temps.Si un programme accède à chaque élément d'un grand tableau et le lit une fois et puis se déplace vers le prochain élément et de ne pas répéter un accès à un endroit donné, jusqu'à ce qu'il a touché à tout autre endroit, alors c'est un cas clair de spatiale localité, mais pas temporelle localité. D'autre part, si un programme se consacre à plusieurs reprises l'accès à un sous-ensemble aléatoire de l'emplacement sur le tableau avant de passer à un autre sous-ensemble aléatoire il est dit avoir temporelle localité, mais pas spatiale localité. Un bien écrit, ont des structures de données qui regroupent les choses qui sont accessibles à l'ensemble, assurant ainsi spatiale localité. Si vous programme est susceptible d'accès B bientôt après il accède à Un puis les deux Un et B devraient être allouées à proximité les uns des autres.
Votre premier exemple
montre spatiale localité, des choses qui sont accessibles proche dans le temps sont proches dans l'espace. Il ne montre pas temporelle localité parce que vous n'avez pas accédé à la même chose plus d'une fois.
Votre deuxième exemple
montre également spatiale localité, mais pas temporelle localité.
Voici un exemple qui montre temporelle localité
Dans des mots simples,
Localité temporelle: Le concept qu'une ressource est référencé à un point
dans le temps sera référencé à nouveau peu de temps dans un avenir proche.
Spatiale de la localité: le concept que La probabilité de faire référence à une ressource est
plus si une ressource près c'était juste référencés.
Source(s): Wikipédia
Voici un exemple de code avec localité:
Il existe temporelle localité parce que la somme est souvent accessibles dans la boucle. Temporelle de la localité est exploitée en gardant récemment utilisé l'instruction et de valeurs de données dans la mémoire cache et par l'exploitation d'un cache de la hiérarchie. Ou même dans un registre, pas dans la mémoire à tous.
Il existe spatiale localité parce que nous avons un tableau 'a' et nous
l'accès à chaque élément du tableau dans l'ordre. Spatiale de la localité est généralement exploitée en utilisant un cache plus important de blocs et par l'incorporation de mécanismes de pré-chargement (extraction des éléments de l'utilisation prévue) dans le cache de la logique de contrôle.
sum
dans un registre, pas de mémoire du tout, pour obtenir le maximum d'avantages de l'accès répété.Temporelle localité est le cas spécial de spatiale de la localité.
J'ai éteint et ont de la difficulté à se souvenir de la différence entre eux, bien que je me souviens de ces deux types de localité.
Spatical Localité de se rappeler que garder "séquentielle" adverbe à l'esprit.
Temporelle Localité de se rappeler qu'au début des temps de l'apprentissage des algos de tri, vous pouvez voir "une variable temp" pour échanger. par exemple, tri à bulles. Il a deux boucles et de swap il y a comme
int temp = .....
.Vous pouvez reconnaître quelle est la définition appartient à ce par le biais de la voie.
Temporelle localité: localité Temporelle est basée sur à plusieurs reprises que les ressources référencées.
Spatiale localité: localité Spatiale des états que les données adjacentes à récemment, les données référencées dans le proche avenir.