Evaluer le temps d'exécution d'un fonction. [Java] - Java - Programmation
Marsh Posté le 15-12-2003 à 15:29:30
Ben que le tps soit != a chaque fois c un peu normal
tu peux utiliser un profiler (JProfiler, tres bien) ou te bricoler un truc maison (system.GetCurrentTime() je crois, ou dans le genre)
Marsh Posté le 15-12-2003 à 15:35:47
pour faire ce que tu veux, non, surtout pas avec des intervals de 1ms (bon je dis ca, mais ca depend fortement de l'OS..sous win j'utiliserais pas du tout ta methode comme facon de chronometrage)
Marsh Posté le 15-12-2003 à 15:37:41
chrisbk a écrit : pour faire ce que tu veux, non, surtout pas avec des intervals de 1ms (bon je dis ca, mais ca depend fortement de l'OS..sous win j'utiliserais pas du tout ta methode comme facon de chronometrage) |
Je sais que c'est peut-être pas la meilleur solution, mais c'est la seule que j'ai trouvé... Est-ce que tu en connais une autre par hasard ?
Marsh Posté le 15-12-2003 à 15:38:44
The_White_Rabbit a écrit : |
???
et ma premiere reponse c'est du vent ?
Marsh Posté le 15-12-2003 à 15:41:50
Il y a une méthode qui consiste à faire la différence entre deux appels à System.getCurrentMillis() (ou un truc du genre), mais j'ai cru lire que cette méthode retournait un résultat faux. Qqn peut confirmer ?
Marsh Posté le 15-12-2003 à 15:42:38
ReplyMarsh Posté le 15-12-2003 à 15:42:40
Code :
|
Marsh Posté le 15-12-2003 à 15:43:40
Cherrytree a écrit : Il y a une méthode qui consiste à faire la différence entre deux appels à System.getCurrentMillis() (ou un truc du genre), mais j'ai cru lire que cette méthode retournait un résultat faux. Qqn peut confirmer ? |
C'est pas faux, mais c'est pas très précis ...
Marsh Posté le 15-12-2003 à 15:45:29
Cherrytree a écrit : Il y a une méthode qui consiste à faire la différence entre deux appels à System.getCurrentMillis() (ou un truc du genre), mais j'ai cru lire que cette méthode retournait un résultat faux. Qqn peut confirmer ? |
boaf c comme ca que je fais quand je veux avoir une idee grossiere de ou je perds du tps.
genre si j'ai
Code :
|
je met des getCurrentMillis() entre tout ca, ca me donne generalement une bonne idee de ce qu'il se passe
Marsh Posté le 15-12-2003 à 15:57:31
Et en plus c'est + simple. C'est pas merveilleux la vie !? (superbe intervention de ma part ! )
Marsh Posté le 15-12-2003 à 16:19:47
benou a écrit : |
Merci de ta confirmation.
El_gringo a écrit : Et en plus c'est + simple. C'est pas merveilleux la vie !? (superbe intervention de ma part ! ) |
Bravo El_gringo.
Marsh Posté le 15-12-2003 à 16:57:43
Cherrytree a écrit : Il y a une méthode qui consiste à faire la différence entre deux appels à System.getCurrentMillis() (ou un truc du genre), mais j'ai cru lire que cette méthode retournait un résultat faux. Qqn peut confirmer ? |
y a pas une méthode. Tu fais un appel avant et après puis tu fais la différence mais bon c'est un chronomètre à la louche quoi. Moi je trouve ça pas fiable du tout
(m'enfin pour donner une idée de départ ca peut déjà etre ca)
Marsh Posté le 15-12-2003 à 17:04:04
java -Xprof
c'est pas bien ?
Marsh Posté le 15-12-2003 à 17:04:42
DarkLord a écrit : |
() Méthode a ici le sens de "marche à suivre". La "méthode" dont je parlais, consiste à appeler deux fois la méthode Java adéquate et faire la différence des deux résultats.
Marsh Posté le 15-12-2003 à 17:22:50
Cherrytree a écrit : |
ponctué de 'un truc du genre' donc je précisais
Marsh Posté le 15-12-2003 à 17:26:28
DarkLord a écrit : |
Oh ça ? C'est parce que j'étais pas sûr du nom de la méthode (cette fois-ci, je parle de la méthode Java ).
Marsh Posté le 15-12-2003 à 17:28:23
ah oui ok
braife, c''est pas vraiment précis quoi
Marsh Posté le 15-12-2003 à 17:47:42
DarkLord a écrit : ah oui ok |
Ouais Je ferai mieux la prochaine fois.
Marsh Posté le 15-12-2003 à 15:26:31
Voilà,
je dois chronométrer l'exécution d'une fonction, mais j'ai un problème.
Au début de ma fonction à chronométrer, j'initialise une Thread qui incrémente une variable toute les 1 mili-secondes. Mon problème, est que ça me renvoit des résultats différents à chaque fois.
Y'a-t-il une meilleur méthode ? Plus simple à mettre en oeuvre et surtout plus efficace et précise...
Merci !