Bonjour, j'ai écrit un prgm dont le contenu est ultra simple : ce prgm se "contente" d'additionner, soustraire et multiplier des tableaux 27*1, 27*3 et/ou 27*7 (en tout il y a une petite quinzaine de tableaux mais je répète 500 fois ces calculs).
J'ai écrit ce prgm de deux manière, car je cherche à optimiser le temps de calculs.
Mon 1e prgm conistait à faire
Mais lorsque je veux multiplier, additionner et multiplier ces tableaux, je faisais des boucles "for" si bien que je trouve que le prgm est "lourd" à lire (bien qu'il ne fasse que 500 lignes)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 double tableau[27][3]
temps de calculs : 39 min
La 2e version était une classe Matrice afin de rendre le code plus lisible (donc j'évitais d'écrire toutes mes boucles "for")
Temps de calcul : 5 heures 46 !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 class Matrice { unsigned int NB_LIGNE; unsigned int NB_COL; vector<vector<double> > m; public: blabla }
Etant donné que je n'ai que peu de tableaux, j'ai opté pour avoir une matrice en tant que variable statique et non dynamique, d'où mon vector<vector<double> > m et non un double**m ou un double * m
Je comprends tout à fait qu'avec la classe Matrice cela aille plus lentement qu'avec mon double tableau[27][3] mais de là à mettre plus de 5h !!
Pouvez-vous soit m'expliquer cette si grande différence de temps de calcul ou bien me proposer une autre solution afin que mon code soit plus lisible ?
Cordialement
Partager