IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Mesure de temps d'execution en millisecondes


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 28
    Par défaut Mesure de temps d'execution en millisecondes
    Bonjour,

    J'ai un programme en C sous Linux qui me parait assez lourd et j'ai donc décidé de l'optimiser. J'aimerai donc pouvoir mesurer le temps d'execution en millisecondes. J'ai essayé d'utiliser time.h mais apparement ce n'est que "second accurate" et il ne mesure pas en millisecondes.

    J'ai utilisé gprof ce qui m'a un peu aidé mais pouvoir vraiment savoir quelle est la partie du code qui est lourde serai génial. Merci à vous

  2. #2
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Citation Envoyé par samitriani Voir le message
    mais pouvoir vraiment savoir quelle est la partie du code qui est lourde serai génial.
    C'est pourtant bien le boulot de Gprof!

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 28
    Par défaut
    Citation Envoyé par nicolas.sitbon Voir le message
    C'est pourtant bien le boulot de Gprof!
    Oui t'as raison, je sais quelles sont les fonctions qui sont les plus lourdes certes. Mais je me rappelle avoir utilisé time.h pour faire des mesures de ce genre, et j'etais capable de savoir quelle etait exactement la boucle ou la partie qui bouffe le plus de temps.
    Apparemment les implémentations de time.h diffèrent !!

  4. #4
    Membre émérite Avatar de homeostasie
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 939

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 28
    Par défaut
    Citation Envoyé par homeostasie Voir le message
    J'avais utilisé time.h, mais j'ai pas fait le bon cast (double) du coup j'avais pas de resultat. en faisant correctement les choses ca marche.

    Merci

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par samitriani Voir le message
    Apparemment les implémentations de time.h diffèrent !!
    non du tout...

    • voir man :

      http://man.developpez.com/man3/clock.3.php

      La valeur renvoyée est le temps CPU écoulé, en unités d'horloge clock_t, pour obtenir une durée en secondes, divisez-la par CLOCKS_PER_SEC. Si l'heure processeur n'est pas disponible, ou si sa valeur ne peut pas être représentée correctement, la valeur renvoyée est (clock_t)-1.
      par contre :

      La fonction clock() renvoie une approximation de la durée écoulée d'utilisation du processeur par le programme.
    • gprof ou prof te donnera un pourcentage du temps utilisé... avc le temps, mais cumulé pour tous les passages.

    • time est aussi une commande (sous unixoide) te permettant de voir à peu près le temps passé (global)

    • et j'avais fait une petite routine (plus précise et régulière que clock()) donnant le temps absolu et qui figure dans les sources C ici-même (la dernière en bas de la page)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mesurer le temps d'éxécution d'une méthode
    Par bhahmed dans le forum C++Builder
    Réponses: 19
    Dernier message: 02/12/2006, 18h00
  2. mesure de temps d'execution
    Par jamalmoundir dans le forum C
    Réponses: 6
    Dernier message: 29/05/2006, 12h59
  3. Mesurer le temps d'execution d'un thread?
    Par kobe dans le forum Concurrence et multi-thread
    Réponses: 20
    Dernier message: 12/05/2006, 12h05
  4. [Stratégie] Mesurer le temps d'exécution d'une requête
    Par nice dans le forum Général Java
    Réponses: 5
    Dernier message: 29/01/2006, 17h53
  5. [Test][Perf]Mesure du temps d'execution différente 2 fois de suite
    Par debdev dans le forum Tests et Performance
    Réponses: 11
    Dernier message: 22/07/2005, 12h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo