Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2417 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++] Profiling

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] Profiling

n°1573693
freewol
Ceci n'est pas une citation
Posté le 12-06-2007 à 12:05:55  profilanswer
 

Bonjour,
 
je souhaiterais "profiler" un programme C++ que j'ai réalisé pour savoir dans quelle fonction il passe le plus de temps pour m'aider à l'optimiser. Pour celà je le compile avec l'option "-pg" et j'utilise ensuite gprof. Mon problème c'est que le programme s'execute pendant 70 secondes alors que le rapport de gprof parle de 20 secondes seulement. C'est probablement du à des appels de fonctions non interceptés pendant l'execution.  
Comment puis-je faire pour avoir des infos sur ces fonctions "cachées" ?
 
Merci d'avance :)

mood
Publicité
Posté le 12-06-2007 à 12:05:55  profilanswer
 

n°1573705
freewol
Ceci n'est pas une citation
Posté le 12-06-2007 à 12:50:50  profilanswer
 

j'ai fait quelques tests en mesurant le temps pris par le programme et en commantant ou non des fonctions. En gros j'ai l'impression que gprof n'indique que le temps d'execution moyen ou maximum des fonctions, pas le temps cumulé de tous les appels à ces fonctions ?

n°1573707
cgo2
Dum spiro spero
Posté le 12-06-2007 à 12:52:50  profilanswer
 

Et quand tu le compile normalement, il s'execute en combien de temps ?


---------------
When it's from Finland it's good.  - Mon blog
n°1573720
freewol
Ceci n'est pas une citation
Posté le 12-06-2007 à 13:38:49  profilanswer
 

Alors en fait c'est 60.3 secondes avec l'option -pg et 55.9 sans.
Et le temps total affiché par gprof est 13 secondes :/

n°1577263
whaam
Posté le 20-06-2007 à 13:15:24  profilanswer
 

quand tu instrumentes un programme il va plus lentement.
Plutot que de mesurer le temps passé, ça te permet surtout de voir où il passe du temps en %
et donc de savoir les points que tu devras revoir dans ton code  :)
ça peut aussi etre pas mal de regarder le nombre d'appels, ça permet de voir si le temps cumulé passé dans une fonction est du au fait qu'elle est trop complexe ou qu'elle est appelée tres souvent (ex assesseur mal foutu). Dans les deux cas faut revoir :)


Message édité par whaam le 20-06-2007 à 13:24:14

---------------
"Bandaged and rejuvenated, Captain Goodnight Returns to the Fray"
n°1587785
bapho13
Usager usant
Posté le 17-07-2007 à 17:26:08  profilanswer
 

Il me semble que ce que tu as calculé est le temps d'exécution totale tandis que le profiler te donne le temps d'utilisation du processeur.
Dans un environnement multitaches avec peut-etre des entrée/sorties, ca semble logique, non ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++] Profiling

 

Sujets relatifs
[C#] [Résolu] Comment communiquer avec une dll c++[C] Des accolades "just pour le fun" ?
Outils de profiling en tps reel et gratuitapplication profiling....??!
Profiling sous linux+gcc mais avec des shared libs (dll)[JAVA]: Profiling d'une application
profiling sous Win CE ! 
Plus de sujets relatifs à : [C++] Profiling


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)