Y a-t-il un chronomètre à Java? Sur google, je ne trouve que le code des chronomètres qui ne fonctionnent pas - ils renvoient toujours 0 millisecondes.
Ce code que j'ai trouvé ne fonctionne pas mais je ne vois pas pourquoi.
public class StopWatch {
private long startTime = 0;
private long stopTime = 0;
private boolean running = false;
public void start() {
this.startTime = System.currentTimeMillis();
this.running = true;
}
public void stop() {
this.stopTime = System.currentTimeMillis();
this.running = false;
}
//elaspsed time in milliseconds
public long getElapsedTime() {
long elapsed;
if (running) {
elapsed = (System.currentTimeMillis() - startTime);
} else {
elapsed = (stopTime - startTime);
}
return elapsed;
}
//elaspsed time in seconds
public long getElapsedTimeSecs() {
long elapsed;
if (running) {
elapsed = ((System.currentTimeMillis() - startTime) / 1000);
} else {
elapsed = ((stopTime - startTime) / 1000);
}
return elapsed;
}
}
currentTimeMillis()
pour la production, car elle est liée à la date / heure du système et n'est pas garantie d'être monotone (par exemple, vous pouvez obtenir un temps écoulé négatif). Pour mesurer l'utilisation du tempsnanoTime()
- il est garanti monotone et destiné exactement à des fins de mesure. Voir docs.oracle.com/javase/8/docs/api/java/lang/…Réponses:
Vous en trouverez un dans
http://commons.apache.org/lang/
C'est appelé
Mais il fait à peu près la même chose que le vôtre. Si vous souhaitez plus de précision, utilisez
Voir aussi cette question ici:
Temps de mesure des frais généraux en Java
la source
Utilisez la
Stopwatch
classe de Guava .la source
getStartTime()
, il manque apacheisRunning()
ahhhhMaintenant, vous pouvez essayer quelque chose comme:
La sortie est en ISO 8601.
la source
Spring fournit une
org.springframework.util.StopWatch
classe élégante (module à noyau de ressort).la source
Utilisez
System.currentTimeMillis()
pour obtenir l'heure de début et l'heure de fin et calculer la différence.Plus d'informations dans ce tutoriel
la source
Le code ne fonctionne pas car la variable écoulée dans
getElapsedTimeSecs()
n'est pas unfloat
oudouble
.la source
Il n'y a pas d'utilitaire Stopwatch intégré, mais à partir de JSR-310 (Java 8 Time), vous pouvez le faire simplement.
Je n'ai pas évalué cela correctement, mais je suppose que l'utilisation du chronomètre de Guava est plus efficace.
la source
essayez ceci http://introcs.cs.princeton.edu/java/stdlib/Stopwatch.java.html
c'est très facile
Cette classe fait partie de stdlib.jar
la source
Classe Chronomètre simple prête à l'emploi:
Usage:
la source
utilisez: com.google.common.base.Stopwatch, c'est simple et facile.
exemple:
cette tâche a nécessité 112 moulins
la source
essaye ça
la source
Essaye ça:
Utilisation:
la source
Essaye ça.
Usage:
Console:
la source
currentTimeMillis()
est liée à la date / heure du système et n'est pas garantie d'être monotone (par exemple, vous pouvez obtenir un temps écoulé négatif).System.nanoTime()
pour toujours obtenir des résultats corrects.Performetrics fournit une classe Chronomètre pratique, exactement comme vous en avez besoin. Il peut mesurer l'heure de l'horloge murale et plus encore: il mesure également le temps CPU (temps utilisateur et temps système) si vous en avez besoin. C'est petit, gratuit et vous pouvez le télécharger depuis Maven Central. Plus d'informations et d'exemples peuvent être trouvés ici: https://obvj.net/performetrics
Vous pouvez convertir les métriques en n'importe quelle unité de temps (nanosecondes, millisecondes, secondes, etc.)
PS: Je suis l'auteur de l'outil.
la source
Vous pouvez en trouver un pratique ici:
https://github.com/varra4u/utils4j/blob/master/src/main/java/com/varra/util/StopWatch.java
Usage:
la source
Essaye ça.
Solution complète de chronomètre Java
Ici, vous obtiendrez une solution entièrement fonctionnelle.
Juste un extrait de la solution liée ci-dessus:
Vous pouvez créer une classe comme le code ci-dessous et utiliser la méthode de démarrage et d'arrêt de cette classe avant et après la section de code, vous souhaitez mesurer le temps nécessaire.
}
Je vous remercie.
la source