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 :

le temps d'execution d'un programme avec "clock()" [Non suivi]


Sujet :

C

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 52
    Points : 34
    Points
    34
    Par défaut le temps d'execution d'un programme avec "clock()"
    Bonjour;

    Je voudrai utiliser la fonction clock() pour connaitre le temps d'execution de mon programme par contre ce dernier est trops rapide donc il termine avant que "clock()" change de valeur ce qui donne toujour une valeur nulle de "elapsed"(elapsed=0), donc je voudrais savoir si il y a une autre facon pour calculer le temps d'execution de tel programme et merci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    .#include <time.h>
     
    ...
     
    clock_t start, end;
    double elapsed;
    start = clock();	/* Lancement de la mesure */
     
    .................             /*Mon programme*/
     
    end = clock();		/* Arret de la mesure */
    elapsed = ((double)end - start) / CLOCKS_PER_SEC;	/* Conversion en seconde */

  2. #2
    Expert éminent sénior

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    oui voir le source que j'ai mis ici..

    http://c.developpez.com/sources/c/?p...DATE_get_clock
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 52
    Points : 34
    Points
    34
    Par défaut
    mais je voudrais savoir si cela marche correctement sur kubuntu(linux) compilateur gcc, merci

  4. #4
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    Tu peux eviter de re-inventer la roue et utiliser la commande time dans ta shell preferee:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $> time toto
        0.01s real     0.00s user     0.00s system
    Ca, c'est du rapide !

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 52
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par DaZumba
    Tu peux eviter de re-inventer la roue et utiliser la commande time dans ta shell preferee:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $> time toto
        0.01s real     0.00s user     0.00s system
    Ca, c'est du rapide !
    SVP est ce que vous pouvez m'expliquer plus que ca parceque je comprend pas garand chose, merci.

  6. #6
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    Citation Envoyé par Kirou
    SVP est ce que vous pouvez m'expliquer plus que ca parceque je comprend pas garand chose, merci.
    Tu veux mesurer le temps d'execution de ton programme. Tu pourrais ajouter du code pour ce faire, mais ce n'est vraiment utile que si tu veux mesurer le temps d'execution d'une partie du programme seulement (une fonction, par exemple).
    Je te propose donc de faire la mesure depuis l'exterieur, en utilisant un utilitaire existant sur la plupart des Unixoide, donc ton Linux. Cet utilitaire s'appelle time.
    Tu as compile ton programme, donc tu as un executable. Appellons-le myprog.
    Dans une console et dans le repertoire qui contient ton executable, tu tapes:
    (l'invite de commande est ici $>, elle est surement differente chez toi).
    Ton programme va tourner et time va te faire le rapport du temps qu'il a mis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $> time myprog
        0.01s real     0.00s user     0.00s system
    Le temps reel est la premiere valeur. Tapes "man 1 time" dans la console pour plus d'info.

  7. #7
    Membre éclairé Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Points : 790
    Points
    790
    Par défaut
    Sous linux, les fonctions qui calculent le temps cpu d'un process (clock) dépendent d'une variable de conf de ton noyau (HZ). Donc tu auras une granularité qui dépendra de ta conf.

Discussions similaires

  1. Temps D'execution D'un Programme
    Par hamska2 dans le forum C
    Réponses: 14
    Dernier message: 09/05/2007, 18h14
  2. temps d'execution d'un programme multithread
    Par La taupe dans le forum C
    Réponses: 2
    Dernier message: 10/01/2007, 17h44
  3. Réponses: 8
    Dernier message: 19/12/2006, 23h55
  4. Réponses: 5
    Dernier message: 19/06/2006, 22h54
  5. temps d'execution d'un programme
    Par Invité(e) dans le forum C
    Réponses: 8
    Dernier message: 17/05/2006, 13h12

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