Diff for /rpl/src/profilage.c between versions 1.7 and 1.42

version 1.7, 2010/04/21 13:45:50 version 1.42, 2013/03/21 12:07:38
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.15    RPL/2 (R) version 4.1.13
   Copyright (C) 1989-2010 Dr. BERTRAND Joël    Copyright (C) 1989-2013 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 20 Line 20
 */  */
   
   
 #include "rpl.conv.h"  #include "rpl-conv.h"
   
   
 /*  /*
Line 300  ecriture_profil(struct_processus *s_etat Line 300  ecriture_profil(struct_processus *s_etat
         l_element_courant = (*l_element_courant).suivant;          l_element_courant = (*l_element_courant).suivant;
     }      }
   
     total = cumul.tv_sec + (((double) cumul.tv_usec) / 1000000);      total = ((double) cumul.tv_sec) + (((double) cumul.tv_usec) / 1000000);
   
     // Création du fichier      // Création du fichier
   
Line 312  ecriture_profil(struct_processus *s_etat Line 312  ecriture_profil(struct_processus *s_etat
     }      }
   
     snprintf(nom, strlen(ds_rplprofile) + 64 + 1,      snprintf(nom, strlen(ds_rplprofile) + 64 + 1,
             "%s-%lu-%lu", ds_rplprofile, (unsigned long) getpid(),              "%s-%llu-%llu", ds_rplprofile, (unsigned long long) getpid(),
             (unsigned long) pthread_self());              (unsigned long long) pthread_self());
   
     if ((fichier = fopen(nom, "w+")) == NULL)      if ((fichier = fopen(nom, "w+")) == NULL)
     {      {
Line 333  ecriture_profil(struct_processus *s_etat Line 333  ecriture_profil(struct_processus *s_etat
         return;          return;
     }      }
   
     if (fprintf(fichier, "Process      : %lu\n", (unsigned long)      if (fprintf(fichier, "Process      : %llu\n", (unsigned long long)
                 getpid()) < 0)                  getpid()) < 0)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
         return;          return;
     }      }
   
     if (fprintf(fichier, "Thread       : %lu\n", (unsigned long)      if (fprintf(fichier, "Thread       : %llu\n", (unsigned long long)
                 pthread_self()) < 0)                  pthread_self()) < 0)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;          (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;
Line 364  ecriture_profil(struct_processus *s_etat Line 364  ecriture_profil(struct_processus *s_etat
   
     while(l_element_courant != NULL)      while(l_element_courant != NULL)
     {      {
         temps = (*l_element_courant).cumul.tv_sec +          temps = ((double) (*l_element_courant).cumul.tv_sec) +
                 (((double) (*l_element_courant).cumul.tv_usec) / 1000000);                  (((double) (*l_element_courant).cumul.tv_usec) / 1000000);
         fraction = 100 * (temps / total);          fraction = 100 * (temps / total);
   
         if (fprintf(fichier, "<%012lld> %15.2fs (%6.2f%%/%6.2f%%) : %s\n",          if (fprintf(fichier, "<%012lld> %15.2fs (%6.2f%%/%6.2f%%) : %s\n",
                 (*l_element_courant).nombre_appels,                  (*l_element_courant).nombre_appels, temps, fraction,
                 temps, fraction, fraction / (*l_element_courant).nombre_appels,                  fraction / ((double) (*l_element_courant).nombre_appels),
                 (*l_element_courant).fonction) < 0)                  (*l_element_courant).fonction) < 0)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;              (*s_etat_processus).erreur_systeme = d_es_erreur_fichier;

Removed from v.1.7  
changed lines
  Added in v.1.42


CVSweb interface <joel.bertrand@systella.fr>