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.");