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 :

temps d'execution d'un programme


Sujet :

C

  1. #21
    Membre émérite
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Par défaut
    Citation Envoyé par Melem Voir le message
    C'est une blague ?
    Oublie ^^

    @étoile de mer : Il faut que tu cast ton expression en type flottant (double?)

  2. #22
    Membre chevronné Avatar de Jenna
    Inscrit en
    Décembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2009
    Messages : 272
    Par défaut
    Citation Envoyé par étoile de mer Voir le message
    Merci Jenna, mais là il m'a affiché 0!!
    Certainement parce que le temps est trop court. Essaye cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        int tempsDebut = clock();
    // traitement du programme
        printf("clock() = %i\n", (int)clock());
        printf("tempsDebut = %i\n", tempsDebut);
    Sleep(1000); /* ou sleep(1), je ne connais pas ton OS */
        int tempsExec=clock()-tempsDebut;
        printf("tempsExec = %i\n", tempsExec);
    Pour ajouter du temps entre le début et la fin

  3. #23
    Membre chevronné Avatar de Jenna
    Inscrit en
    Décembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2009
    Messages : 272
    Par défaut
    Citation Envoyé par Pouet_forever Voir le message
    @étoile de mer : Il faut que tu cast ton expression en type flottant (double?)
    Oui, ca aussi, c'est une bonne idée

  4. #24
    Membre éclairé Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // traitement du programme
        printf("clock() = %i\n", (int)clock());
        printf("tempsDebut = %i\n", tempsDebut);
        int tempsExec=(double)(clock()-tempsDebut)/CLOCKS_PER_SEC;
        printf("tempsExec = %i\n", tempsExec);
    c'est la meme chose , le 0 aussi qui s'affihce

  5. #25
    Membre chevronné Avatar de Jenna
    Inscrit en
    Décembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2009
    Messages : 272
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        double tempsExec=(double)(clock()-tempsDebut)/CLOCKS_PER_SEC;
        printf("tempsExec = %lf\n", tempsExec);

  6. #26
    Membre chevronné Avatar de Lavock
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 560
    Par défaut
    En POSIX, cela vaut 100'000 ou 1'000'000 je crois, alors que sous MS ça vaut 1'000 (en tout cas avec MINGW).

    Tout cela c'est implémentation-définit. 0 seconde, c'est très probable. Essaye en milliseconde plutôt (const long CLK_PER_MS = CLOCKS_PER_SEC / 1000).

  7. #27
    Membre éclairé Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Par défaut
    MErci Jenna , là j'obtiens 0.06secondes
    c'est bien
    merci

  8. #28
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Ah, ce qui m'a perdu c'est que le "traitement" en commentaire était un vrai traitement dans le vrai programme, 2 pages pour résoudre un problème aussi trivial ...

    Citation Envoyé par Lavock
    Essaye en milliseconde plutôt (const long CLK_PER_MS = CLOCKS_PER_SEC / 1000)
    Plutôt const long CLK_PER_MS = (long)(CLOCKS_PER_SEC / 1000.0). Le cast sert juste à supprimer le warning. On peut également arrondir le rapport plutôt que de simplement le tronquer.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 6
    Dernier message: 27/07/2007, 18h38
  2. Temps D'execution D'un Programme
    Par hamska2 dans le forum C
    Réponses: 14
    Dernier message: 09/05/2007, 18h14
  3. temps d'execution d'un programme multithread
    Par La taupe dans le forum C
    Réponses: 2
    Dernier message: 10/01/2007, 17h44
  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