Optimisation de programme c++

Optimisation de programme c++ - C++ - Programmation

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 cité 2 fois
Message édité par nisalon_caje le 18-10-2008 à 17:37:30

---------------
http://nisalon.labrute.com/
Reply

Marsh Posté le 18-10-2008 à 17:32:19   

Reply

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.

Reply

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.

Reply

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
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


 
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.

Reply

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


---------------
http://nisalon.labrute.com/
Reply

Marsh Posté le 19-10-2008 à 10:13:59    

oui mais ca demande du travail ;) . Point de vectorisation automatique :o

Reply

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


---------------
Découvrez l'anthologie des posts de Mikhail. Je suis le cinéphile déviant.
Reply

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é.
 
gprof marche très bien


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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed