Pagination sur demande

Bonjour,
Après de maintes reflexions sur un exercice dont je n'arrive pas à trouver la solution, je vous soumets ci après l'énoncé pour une eventuelle aide.
Merci par avance.
Enoncé de l'exercice :
Soit un système d'exploitation qui utilise une pagination sur demande et où les pages ont des tailles de 4 KO. Nous supposeront que l'ordinateur utilisé n'utilise pas de mémoire cache, un étudiant doit écrire un segment de programme qui fait la somme de tous les éléments d'une très grande matrice, il teste les 2 algorithmes suivants :

Algorithme 1
Somme :=0;
Pour j=1 à 10000
faire
Pour i=1 à 10000
faire
Somme := Somme+A[i,j];
fait
fait

Algorithme 2
Somme :=0;
Pour i=1 à 10000
faire
Pour j=1 à 10000
faire
Somme := Somme+A[i,j];
fait
fait

expliquer pourquoi en utilisant l'algorithme 1, il obtient un temps d'execution beaucoup plus long qu'avec l'algorithme 2.
Configuration: Windows XP
Opera 9.20

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. l'emplaçement des blocs mémoire, parcourir une matrice... horizontalement ou verticalement? je te donne un indice, l'un est plus rapide que l'autre ;)
    1. Bonjour
      Comment expliquez vous que le parcour de la matrice ligne par ligne est plus rapide le parcour colonne par colonne ?
      Merci d'avance.