Pagination sur demande

Fermé
pedatic Messages postés 73 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 1 février 2012 - 8 sept. 2008 à 18:14
pedatic Messages postés 73 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 1 février 2012 - 6 oct. 2008 à 10:43
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.

2 réponses

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 ;)
0
pedatic Messages postés 73 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 1 février 2012 4
6 oct. 2008 à 10:43
Bonjour
Comment expliquez vous que le parcour de la matrice ligne par ligne est plus rapide le parcour colonne par colonne ?
Merci d'avance.
-1