Instruction java donnant le temps d'exécution

Fermé
caroline - Modifié par green day le 10/12/2010 à 19:46
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 29 sept. 2011 à 19:06
Bonjour,
svp j'ai besoin d'une instruction en java ,qui me donne le temps d'un programme en cours de son exécution
par exemple dans mon programme je fais appelle a des fonction ,la fonction factoriel par exemple quand la fonction ce termine l'instruction me donne le temps d'exécution de la fonction factoriel

edit : titre.
A voir également:

2 réponses

badcommand Messages postés 84 Date d'inscription mardi 14 avril 2009 Statut Membre Dernière intervention 10 décembre 2010 9
10 déc. 2010 à 20:07
Bonjour,

long start; 

start = System.nanoTime();

Tes instructions;
long duree = System.nanoTime() - start;

System.out.println(duree);
6
merci beaucoup
0
merci beaucoup
0
Bonjour,

je trouve que les temps d'execution sont tres différent d'une execution à une autre !! je doute de la fiabilité de cette méthode !
3
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
29 sept. 2011 à 19:06
Les temps peuvent différer selon la charge du processeur, ce qui dépend des autres programmes sut ton ordinateur et d'un certain nombres de paramètres extérieurs, en particulier si tu fais des entrées/sorties, ou si ton programme est très rapide à s'exécuter.

C'est pour cela que pour évaluer la complexité d'un programme on n'utilise pas le temps d'exécution comme valeur de référence mais le nombre d'instructions effectués.

Remarque : System.currentTimeMillis() est très certainement suffisant dans la plupart des cas.
0