Instruction java donnant le temps d'exécution

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.

2 réponses

  1. Bonjour,

    long start; 
    
    start = System.nanoTime();
    
    Tes instructions;
    long duree = System.nanoTime() - start;
    
    System.out.println(duree);
    
    1. merci beaucoup
    2. merci beaucoup
  2. 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 !
    1. Modérateur
      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.