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 :

Calcul de la vitesse d'exécution d'un prog.


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 172
    Points : 68
    Points
    68
    Par défaut Calcul de la vitesse d'exécution d'un prog.
    Rebonjour,

    Y a t-il un moyen de calculer la vitesse d'exécution d'un programme, je voudrai m'amuser à écrire des petits programmes de plusieurs façon afin de voir quelle est la méthode la plus rapide pour le processeur ?

    Merci.

  2. #2
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 076
    Points : 2 327
    Points
    2 327
    Par défaut
    Bonjour,

    en C, je ne saurai pas repondre a ta question. Il doit y avoir quelque chose retournant ce que tu chercher, mais je ne la connais pas.

    Par contre, la librairie SDL possede des timers (ainsi que la SFLM).

    Si vraiment tu n'as aucune reponse, sors l'artillerie lourde et met la libraire SDL ou SFLM dans ton projet. Mais bon, c'est vraiment sortir le marteau-piqueur pour ecraser une mouche

  3. #3
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Si tu as plusieurs programmes à comparer, l'idéal serait un programme chronomètre qui lance le programme à bencher.

    Pour faire un chrono, c'est assez simple, on regarde l'heure, on lance la programme à bencher, une fois fini, on reprend l'heure, on fait la différence avec la première.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #include <stdlib.h>
    #include <stdio.h>
    #include <time.h>
     
    int main(void) 
    {
        time_t start, stop;
        start = time(NULL);
     
        system("mon_programme_a tester");
     
        stop = time(NULL);
     
        printf("execution en %ds\n", stop - start);
     
        return 0;    
    }
    Si on veut quelque chose de plus précis, il faut utiliser des fonctions plus fines que time (comme ftime ou GetTickCount)

    PS: sous linux, il existe l'outil "time" qui permet de faire ça facilement

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 172
    Points : 68
    Points
    68
    Par défaut
    Ok c'est une bonne idée, je vais faire comme ça.

    Merci .

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 43
    Points : 33
    Points
    33
    Par défaut
    Sinon si c'est pour bencher des programmes dont tu as les sources (vu ce que tu demandes, c'est ce que tu veux faire), tu peux utiliser le fameux time de cette facon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    main  //celui de ton programme a bencher.
    {
        int init_time = time();
     .........
     .........
        print ("execution timme = %d", time() - init_time);
     
        return 0;
    }
    L'avantage de cette methode, c'est que tu vas pouvoir bencher a l'interieur de ton programme, en metant des time un peu de partout. Tu decouvriras de cette facon les parties qui prennent le plus de temps, et donc les parties a optimiser...

    Le desavantage que tu as c'est que tu dois builder pour bencher...

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

Discussions similaires

  1. Optimisation Vitesse d'Exécution Calcul matriciel
    Par olivier21c dans le forum Langage
    Réponses: 33
    Dernier message: 02/09/2011, 12h46
  2. [SQL]ADODataset et ADOQuery Vitesse d'exécution.
    Par aityahia dans le forum Bases de données
    Réponses: 1
    Dernier message: 30/06/2008, 20h44
  3. Au sujet de la vitesse d'exécution des programmes
    Par emie31 dans le forum Langage
    Réponses: 5
    Dernier message: 09/11/2006, 14h42
  4. Réponses: 4
    Dernier message: 02/04/2006, 19h42
  5. [VB6] Calcul de la vitesse d'upload
    Par Muldeo dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 15/03/2006, 22h37

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