Bonjour,
J'aimerais savoir comment connaitre le temps d'exécution d'une fonction. Suffit-il de récupérer le temps système avant et après l'appel ou est ce une mauvaise solution.
Merci
Bonjour,
J'aimerais savoir comment connaitre le temps d'exécution d'une fonction. Suffit-il de récupérer le temps système avant et après l'appel ou est ce une mauvaise solution.
Merci
C'est pas exact à la milliseconde prêt (calcul de date, plus l'affichage qui peut sérieusement ralentir une application si tu en fais des milliers) mais si c'est pour faire des tests de performance c'est encore le plus simple il me semble...
Tu risque d'avoir quelques problème car le système peut passer d'un processus à l'autre, et dans certains cas la fonction risque de prendre beaucoup plus de temps que ce qu'elle prend réellement pour s'exécuter. Cependant pour avoir des ordres de grandeur une tels façon de faire peut convenir.
D'autre part tu as la fonction System.nanoTime() qui permet d'avoir un temps en nanosecondes.
Je ne suis pas convaincu de l'utilisation de System nano par rapport a System millis dans le cas d'un delta temps. D'une part parce que les appels à ces méthodes vont consommer et surtout tu le remarquera même si tu le fais avec millis, d'une exécution à l'autre, il y a de sérieuses différences. Donc millis te donnera sur plusieurs exécutions un temps moyen, nano ne t'apporte qu'aucune information supplémentaire pertinente.
Partager