Re: langage C et performances, merci à tous, mais...

Page principale

Répondre à ce message
Auteur: Letuffe Sylvain
Date:  
À: guilde
Anciens-sujets: Re: langage C et performances
Sujet: Re: langage C et performances, merci à tous, mais...
> 2) Si les fonctions qui consomment beaucoup de ressources sont de grande
> taille alors compile les fichiers qui les contiennent (et uniquement
> ceux la) avec l'option -pg. Utilise egalement cette option a l'edition
> de liens. Relance l'executable et utilise alors la commande
> gprof nom_de_l'executable > listing.detaille
> La, tu auras en principe une analyse fine au niveau des boucles de ces
> fonctions. Tout compiler en -pg sur un code important te genererait un
> trop gros volume d'information avec -pg et serait difficile a exploiter.



Mon programme est relativement simple et l'option -pg me va pas trop mal,
( a-priori )
j'ai qu'un seul programme et pas d'autres fichiers à compiler séparément.
ce que je voudrais profiler, grosso modo, c'est une dizaines de fonctions max.

et avoir une vue un peu hierarchique car la fonction fondamentale que j'appel
( bouffant d'ailleurs 60% du temps ) est appelée par plusieurs sous fontions
et je pédale dans la purée avec gprof... ( en plus d'avoir des annomalies )
pourrais-t-il y avoir des incompatibilités de l'option -pg ?
avec gtk peut-etre ?


extrait :
   %   cumulative   self              self     total           
 time   seconds   seconds    calls  ms/call  ms/call  name    
 65.65      3.02     3.02 28886579     0.00     0.00  calcul_norme_pre
 13.91      3.66     0.64      621     1.03     4.44  decoup
 12.83      4.25     0.59      873     0.68     2.28  decrois


  6.74      4.56     0.31    33191     0.01     0.03  algo_btd              
->  jamais j'appel cette fonction !! elle existe mais je ne l'ai pas
appelée lors du test


  0.43      4.58     0.02    51548     0.00     0.00  permut
  0.43      4.60     0.02     3389     0.01     0.01  longueur_chemin
  0.00      4.60     0.00    67973     0.00     0.00  copie
  0.00      4.60     0.00    51548     0.00     0.00  permutvilles
  0.00      4.60     0.00    33558     0.00     0.00  aleatoire01
  0.00      4.60     0.00     3600     0.00     0.00  calcul_norme
  0.00      4.60     0.00      552     0.00     0.00  aleatoire1n
  0.00      4.60     0.00       70     0.00     0.01  operation_chemin
  0.00      4.60     0.00       69     0.00     0.00  pourcent
  0.00      4.60     0.00       60     0.00     0.00  draw_brush
  0.00      4.60     0.00       60     0.00     0.00  draw_line
  0.00      4.60     0.00       60     0.00     0.00  refresh
  0.00      4.60     0.00        1     0.00  4599.99  algo_fourmis