Calcul du temps d'exécution en Java : méthodes et exemples du monde réel
La mesure du temps d'exécution du code est essentielle pour optimiser les performances des applications Java. Elle aide les développeurs à identifier les goulets d'étranglement et à améliorer l'efficacité.
Utilisation de System.nanoTime()
La méthode System.nanoTime() offre une mesure du temps haute résolution. Elle retourne la valeur actuelle du minuteur système le plus précis disponible, en nanosecondes. Pour mesurer le temps d'exécution, enregistrez le temps de début avant que le code ne tourne et le temps de fin après. La différence indique le temps écoulé.
Exemple :
démarrage long = System.nanoTime();[
// code à mesurer
fin de l'heure longue = System.nanoTime();[
long terme = fin de l'heure - début de l'heure;[
Utilisation de System.currentTimeMillis()
La méthode System.currentTimeMillis() fournit le temps courant en millisecondes. Elle est moins précise que mais convient pour mesurer des durées plus longues.
Exemple :
démarrage long = System.currentTimeMillis();[
// code à mesurer
fin de l'année = System.currentTimeMillis();[
long terme = fin de l'heure - début de l'heure;[
Utilisation de la classe instantanée de Java
Le paquet Instant de la classe java.time offre une approche moderne de la mesure du temps. Il fournit une précision nanoseconde et est adapté pour mesurer les durées.
Exemple :
Démarrage instantané = Instant.now();
// code à mesurer
Fin instantanée = Instant.now();
Durée = Durée.entre(début, fin);
Exemple de monde réel
Supposons que vous vouliez mesurer le temps qu'il faut pour trier un grand tableau. En utilisant System.nanoTime(), vous pouvez implémenter les éléments suivants :
int[] tableau = nouveau int[1 000 000];[
// tableau de population
démarrage long = System.nanoTime();[
Arrays.sort(array);
fin de l'heure longue = System.nanoTime();[
System.out.println("Torting a pris " + (fin de l'heure - début de l'heure) + " nanosecondes.");