3- Optimisation F. Optimisation par re-écriture
Utiliser des algorithmes qui ont une approche locale des variables :
=> travail sur des données contiguës, minimiser la navigation aléatoire dans de
gros volumes de données (adressage indirect)
Utiliser des algorithmes “par blocs” (cas d’opérations matricielles) :
=> travailler sur des blocs de données qui rentrent dans le cache de données
=> Augmentation des performances si :
1. nombre d’itérations >> nombre de données utilisées,
2. Les boucles sont permutables,
3. taille du bloc < taille du cache disponible.
=> le compilateur essaye de le faire lors de boucles imbriquées (cache blocking)
=> principe …