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

Tests et Performance Java Discussion :

[Test][Perf]Mesure du temps d'execution différente 2 fois de suite


Sujet :

Tests et Performance Java

  1. #1
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut [Test][Perf]Mesure du temps d'execution différente 2 fois de suite
    Bonjour,
    j'ai une question:

    J'ai 4 méthodes différentes pour réaliser une action. Pour savoir quelle méthode est la plus rapide (et donc celle que je garderai), je mesure leur temps d'execution.

    donc je fais;
    1. lancement du programme
    2. action avec affichage du temps d'execution pour une methode
    3. fermeture du programme
    puis je refais les étapes 1,2,3 pour chacune des 3 autres méthodes.

    Mon probleme est :
    Quand je teste 2 fois la MEME methode, je n'obtiens pas le meme temps d'execution.
    Est ce normal?
    Est ce que ça peut dépendre des autres applications ouvertes sur l'ordi?
    Est ce que c'est parce que le résultat de l'action serait conservé en mémoire quelque part meme si le programme est fermé entre temps ?

    Merci




    [Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 390
    Points : 432
    Points
    432
    Par défaut
    Oui c'est normal de ne pas avoir le même temps entre deux execution.
    Ce que je te conseil de faire c'est de lancer 100 fois la même application et de faire une moyenne sur les temps obtenus.
    Si 100 ca te parai trop grand commence plus petit puis essai un peu plus grand pour voir si tu tourne toujours autour de la même moyenne.

    Et effectivement ca peut dépendre des taches qui tournent sur le pc.
    Mess with the best, die like the rest!

  3. #3
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut
    ok je te remercie barbu.
    j'vais faire mes moyennes mais je pense pas que j'aurai le courage de le faire 100 fois pour les 4 méthodes deja 20 fois, j'trouve que c'est bien
    a+

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 390
    Points : 432
    Points
    432
    Par défaut
    Le mieux est d'augmenter progressivement jusqu'à ce que ta moyenne se stabilise.
    Si au bout de 10 executions, la moyenne ne bouge plus, ce n'est pas vraiment la peine d'aller plus loin.
    Mais si au bout de 20 executions tu as encore de grosse fluctuation, tu ferais mieu de continuer un peu.
    Mess with the best, die like the rest!

  5. #5
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut
    ok. merci du conseil

  6. #6
    NGY
    NGY est déconnecté
    Membre habitué
    Inscrit en
    Août 2002
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 137
    Points : 164
    Points
    164
    Par défaut
    Citation Envoyé par debdev
    ok je te remercie barbu.
    j'vais faire mes moyennes mais je pense pas que j'aurai le courage de le faire 100 fois pour les 4 méthodes deja 20 fois, j'trouve que c'est bien
    a+
    J'ai peur de mal comprendre... Tu ne lance pas 20 "à la main" tes programmes hein ? Tu automatises bien ton lancement par programme.
    Dans ce cas, porquoi le lancer 100 demande plus de motivation que 20 ? (à moins que ça mette des plombes à chaque fois).

  7. #7
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut
    slt ngy,
    j'avais deja marqué mon sujet comme résolu et je viens seulement de voir ton message. Et oui, je lance mon programme à la main, c'est pour ça que 20 ça suffira. En fait , au départ, j'imaginais que le temps d'execution était le meme à chaque lancement. Donc pour moi, une seule fois suffisait. Et puis par hasard, j'ai lancé 2 fois le test d'une méthode, et j'ai vu que le temps n'était pas le meme les 2 fois. D'ou mon post.
    Je ne sais pas comment faire pr automatiser le lancement et le temps que je comprenne je pense que j'aurai plus vite fait de le lancer 20 fois à la main...!

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 390
    Points : 432
    Points
    432
    Par défaut
    Ca dépend de ton programme.
    Il suffit peut etre de lancer 20 fois de suite la méthode main de ta classe principale.
    Mess with the best, die like the rest!

  9. #9
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut
    slt barbu,
    je viens de faire une boucle ds mon main et ça lance bien plusieurs fois le programme. Mais en fait j'avais meme pas réfléchi au fait que mon action c'est cocher une case et voir le temps d'execution du traitement. Donc en fait , je vais cocher/decocher plusieurs fois de suite pr mesurer le temps et faire une moyenne. J'imaginais qu'il fallait fermer le programme à chaque fois mais a priori ce n'est pas nécessaire car ça ne rentre pas en compte ds le temps mesuré. Donc je vais pouvoir faire ma moyenne sur un grand nombre de mesures et rapidement.
    Merci

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 169
    Points : 113
    Points
    113
    Par défaut
    et tu ne peux pas simuler un "cochage-decochage" automatiquement ? ça irait dix fois plus vite ....

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 390
    Points : 432
    Points
    432
    Par défaut
    Ce que tu peux faire pour aller bien plus vite, c'est faire une boucle sur l'évènement déclanché par ton cochage décochage.
    Et automatiser la capture du temps et le calcul de moyenne.
    Comme ca tu aurais juste a lancer ton programme et il te renverrai une moyenne. Pas de clic intempestif (qui risquerai d'endommager ta souris )
    Mess with the best, die like the rest!

  12. #12
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 629
    Points : 203
    Points
    203
    Par défaut
    merci pour vos idées.
    Je vais voir pour l'automatisation du cochage/decochage. ça irait effectivement bien plus vite, ça n'userait pas trop la souris (mais ça, vu qu'elle est deja pas terrible, ça me dérangerait pas d'en changer une fois pour toute...) et surtout, ça m'eviterait d'avoir un doigt plus musclé que les autres
    Bonne journée

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

Discussions similaires

  1. Réf : Mesurer le temps d 'execution d 'une requete
    Par akrabmehdi dans le forum SQL
    Réponses: 1
    Dernier message: 10/07/2007, 20h48
  2. 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
  3. mesure de temps d'execution
    Par jamalmoundir dans le forum C
    Réponses: 6
    Dernier message: 29/05/2006, 12h59
  4. 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
  5. [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

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