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

Java Discussion :

Gérer un chrono pour mesurer la performance d'une méthode.


Sujet :

Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 214
    Points : 100
    Points
    100
    Par défaut Gérer un chrono pour mesurer la performance d'une méthode.
    Bonjour.

    Voilà, je suis en train de réaliser un dossier pour mon cours de Math en Java et il se trouve que pour répondre à 1 problème demandé, il y a généralement 50000 façons différentes de faire.
    Evidemment j'aimerais trouver celle qui est la plus rapide.
    Dès lors, je voudrais créer une sorte de chrono qui s'active lors de l'appel d'une méthode et qui m'affichera alors en console (pas de GUI) le temps pris à l'exécution.
    En bref un système comme l'on trouve souvent sur des pages PHP ("Script exécuté en x,xxx").

    J'ai d'abord regarder dans les sources et dans la FAQ mais je n'y ai rien trouvé d'intéressant pour mon problème.
    Et j'avoue que le temps me manquant, je n'ai pas vraiment le temps de commencer à chercher dans la javadoc.
    Donc si vous aez un système tout fait, pensez à moi

    Merci d'avance ! 8)

  2. #2
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    Dans les appli réparties, on utilise les logs pour ca... avec des traces en debut et en fin de méthode.

  3. #3
    Membre actif Avatar de @ldehan
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 215
    Points : 278
    Points
    278
    Par défaut
    L'idée globale est assez simple, il suffit de recupérer timestamp avant l'appel et apres puis de faire la différence

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 214
    Points : 100
    Points
    100
    Par défaut
    Citation Envoyé par @ldehan
    L'idée globale est assez simple, il suffit de recupérer timestamp avant l'appel et apres puis de faire la différence
    Le timestamp est-il assez précis? Il ne travaille pas uniquement pas seconde?
    Parce que mes méthodes ne sont pas encore assez grosses que pour utiliser plusieurs secondes

  5. #5
    Membre éclairé Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Points : 680
    Points
    680
    Par défaut
    Pourquoi pas utiliser System.currentTimeMillis()?

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 214
    Points : 100
    Points
    100
    Par défaut
    Citation Envoyé par Pollux
    Pourquoi pas utiliser System.currentTimeMillis()?
    Merci !
    Oui çà sera bien plus facile
    Merci beaucoup 8)

  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 856
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 856
    Points : 34 380
    Points
    34 380
    Par défaut
    Bonjour,

    pour quelquechose de plus poussé :
    - JAMon
    - JVMPI
    - HPJMeter
    - JProbe

    Eric

  8. #8
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    On peut également utiliser System.nanoTime() pour avoir une précision de l'ordre de la nano-seconde. Attention toutefois, les OS n'ont pas forcécement une précision suffisante avec currentTimeMillis(). Par exemple si deux appels à currentTimeMillis() sont générés en moins de 15 milli-secondes sous Windows, on obtiendra une durée de 0 ms.

    Si tu veux analyzer les performances de ton application je te conseille fortement d'installer Netbeans 5.0 et son Profiler. Les deux logiciels sont gratuits et Open Source. J'utilise ce profiler depuis quelques mois et il est vraiment excellent. Tu peux même l'utiliser pour analyser des programmes lancés depuis un autre IDE (ce que je fais dans la plupart des cas).

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/02/2015, 12h42
  2. Réponses: 6
    Dernier message: 02/09/2014, 09h48
  3. Souci bizarre pour compiler après ajout d'une méthode
    Par kerlouan dans le forum Débuter
    Réponses: 1
    Dernier message: 23/03/2014, 14h07
  4. Réponses: 8
    Dernier message: 21/09/2007, 14h51
  5. Mesurer les performances d'une application Windows
    Par Kr00pS dans le forum Windows
    Réponses: 1
    Dernier message: 12/02/2007, 13h35

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