60 votes

Classe chronomètre pour Java

Quelle classe Java devez-vous utiliser pour les mesures de performances temporelles?

(On pourrait utiliser n'importe quelle classe de date / heure, mais la raison pour laquelle je pose la question est en .Net, il existe une classe désignée Chronomètre à cet effet)

115voto

Adam Paynter Points 22056

Le Framework Spring est un excellent StopWatch classe:

StopWatch stopWatch = new StopWatch("My Stop Watch");

stopWatch.start("initializing");
Thread.sleep(2000); // simulated work
stopWatch.stop();

stopWatch.start("processing");
Thread.sleep(5000); // simulated work
stopWatch.stop();

stopWatch.start("finalizing");
Thread.sleep(3000); // simulated work
stopWatch.stop();

System.out.println(stopWatch.prettyPrint());

Ce produit:

 Chronomètre "Mon chronomètre": durée (millis) = 10000
-----------------------------------------
 ms % nom de la Tâche
-----------------------------------------
 02000 020% de l'initialisation
 05000 050% pour le traitement
 03000 030% de la finalisation de

6voto

Kevin Crowell Points 5180

java.lang.System.nanoTime ()

Ou vous pouvez utiliser le chronomètre fourni dans Apache commons. Cette classe utilise java.lang.System.currentTimeMillis ()

http://commons.apache.org/lang/api-release/org/apache/commons/lang/time/StopWatch.html

2voto

user2262148 Points 1

Découvrez perf4j. Le chronomètre du printemps est principalement destiné au développement local. Perf4j peut prendre en charge votre synchronisation de type POC ainsi que sur un environnement de production.

0voto

daniel Points 323

Vous pouvez essayer le Système.currentTimeMillis(), mais aussi il y a une bonne profilage des options en vertu de certaines IDEs, tel que eclipse et netbeans. Aussi, loin de l'IDE, vous pouvez essayer de profileurs autonome dans vos mesures de la performance de tâches. Je pense qu'en utilisant les profileurs, vous obtiendrez de meilleurs résultats que l'utilisation du Système.currentTimeMillis().

0voto

Mike Dunlavey Points 25419

Si vous souhaitez simplement le mesurer, utilisez une classe de chronomètre, ou peut-être simplement un chronomètre.

Si vous voulez faire plus vite, considérez ceci .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X