Le Stop Watch de Guava reloaded

Il y a quelques temps, je vous parlais du « Stop Watch », de la bibliothèque Guava, qui fonctionne comme un chronomètre dans vos programmes. L’API ayant évoluée, je vous propose une petite mise à jour.

Mais avant ça, je vous encourage évidement à lire en premier mes anciens articles et billets de blog qui en parlent :

Le premier point qui saute aux yeux concerne la création du « Stop Watch ». Le constructeur a été marqué « deprecated » au profit des fabriques statiques « createUnstarted » et « createStarted » qui créent respectivement un « Stop Watch » non démarré (i.e. comme l’ancien constructeur) et un « Stop Watch » démarré. Ce dernier permet d’économiser un appel à la méthode « start ».

1
2
3
final Stopwatch sw = Stopwatch.createStarted();
...
sw.stop();

La méthode « elapsedMillis » qui renvoyait le temps écoulé en milliseconde a été supprimée. J’avoue que je ne comprend pas très bien pourquoi, d’autant que la méthode « elapsedNanos » est toujours présente. Cette dernière, qui renvoie la durée en nanoseconde, est toutefois marquée privée. En remplacement de « elapsedMillis », on utilisera la méthode « elapsed » à laquelle on précisera l’unité de mesure souhaitée :

1
2
3
final Stopwatch sw = Stopwatch.createStarted();
...
final long duree = sw.elapsed(TimeUnit.MICROSECONDS);

La plupart des autres méthodes comme « isRunning » qui permet de savoir si le chrono est en cours de mesure, « start » et « stop » qui controlent respectivement le démarrage et l’arrêt, ou encore « reset » dont l’utilité est évidente, ne changent pas (ou du moins pas assez pour en discuter ici).

Laisser un commentaire