Optimisation de programme c++ - C++ - Programmation
Marsh Posté le 18-10-2008 à 18:07:37
À moins de donner dans le très bas niveau et de savoir très précisément ce que tu fais, code normalement, et laisse le compilateur optimiser pour toi. Il fait ça très bien. Surtout que s'il y a un souci de perfs dans ton code, il y a de très grandes chances que ce soit plus un problème algorithmique qu'autre chose.
Commence par faire du profiling pour détecter les goulots d'étranglement.
Marsh Posté le 18-10-2008 à 18:15:41
nisalon_caje a écrit : PS : Est ce que la différence de temps entre le temps d'accès à un élément d'un tableau statique et le temps d'accès à un élément d'un vecteur est grande ?? |
y en a pas.
Marsh Posté le 18-10-2008 à 20:34:15
nisalon_caje a écrit : Bonjour, j'ai codé un petit programme en c++ dont je souhaite optiimiser le temps de calcul |
maximiser la localité du cache dans les accés des tableaux, références ou tu peux, du SIMD si tu peux.
Mais en général, les meilleurs gains proviennent d'une optimsiation algorithmique et non d'uen optimsiation bas niveaux.
Marsh Posté le 18-10-2008 à 23:31:11
ok merci pour toutes vos réponses
et par contre est ce que demander au compilateur de compiler avec des instrucytions sse 2 peut améliorer les perfs
Marsh Posté le 19-10-2008 à 10:13:59
oui mais ca demande du travail . Point de vectorisation automatique
Marsh Posté le 20-10-2008 à 16:28:50
Sinon ne pas oublier l'inévitable passage par un "profiler" pour savoir quels foctions optimiser en priorité.
gprof marche très bien
Marsh Posté le 20-10-2008 à 23:27:17
Koko90 a écrit : Sinon ne pas oublier l'inévitable passage par un "profiler" pour savoir quels foctions optimiser en priorité. |
C'est important en effet, la règle essentielle en optimisation est celle du 90/10:
90% du temps d'exécution est consommé par 10% du code
Marsh Posté le 18-10-2008 à 17:32:19
Bonjour, j'ai codé un petit programme en c++ dont je souhaite optiimiser le temps de calcul
Aussi j'aurais voulu savoir quels étaient les "trucs" au sein de la programmation à faire/ne pas faire avant de grapiller un peu de temps
Merci d'avance
NC
PS : Est ce que la différence de temps entre le temps d'accès à un élément d'un tableau statique et le temps d'accès à un élément d'un vecteur est grande ??
Message édité par nisalon_caje le 18-10-2008 à 17:37:30
---------------
http://nisalon.labrute.com/