Combien de fois vous est-il arriver de chercher à connaître la durée d’un script, d’une action ou d’un morceau de code ? Franchement, ça m’est arrivé relativement souvent, à tel point d’ailleurs que le code de base que j’ai créé pour démarrer un nouveau projet de site Internet en PHP, affiche par défaut en bas de page le temps de chargement.
En Java, il existe une class nommée Timerdans le package com.ge.tools qui permet de calculer facilement la durée d’un script. Deux méthodes sont à utiliser :
- getTempsTotal : renvoie la durée en milliseconde depuis la déclaration du Timer
- getTempsIntermediaire : renvoie la durée en milliseconde depuis le dernier appel à getTempsIntermediaire ou à la déclaration du Timer si aucun appel à getTempsIntermediaire effectué précédement
Dans l’exemple ci-dessous, j’utilise en fait getTempsTotalFormate et getTempsIntermediaireFormate qui renvoie la durée au format plus lisible : h:min:s,ms.
Timer timer = new Timer(); System.out.println("Sleep 1000ms..."); Thread.currentThread().sleep(1000); System.out.println("Temps intermédiaire 1 : "+timer.getTempsIntermediaireFormate()); System.out.println("Temps total 1 : "+timer.getTempsTotalFormate()); System.out.println("Sleep 1000ms..."); Thread.currentThread().sleep(1000); System.out.println("Temps intermédiaire 2 : "+timer.getTempsIntermediaireFormate()); System.out.println("Temps total 2 : "+timer.getTempsTotalFormate());
Ce qui affiche au bout de 2s :
Sleep 1000ms…
Temps intermédiaire 1 : 0:0:1,0
Temps total 1 : 0:0:1,0
Sleep 1000ms…
Temps intermédiaire 2 : 0:0:1,0
Temps total 2 : 0:0:2,0