Berechnung der Ausführungszeit in Java: Methoden und Beispiele aus der realen Welt
Die Messung der Ausführungszeit von Code ist für die Optimierung der Leistung in Java-Anwendungen unerlässlich. Es hilft Entwicklern, Engpässe zu erkennen und die Effizienz zu verbessern. Dieser Artikel untersucht gängige Methoden zur Berechnung der Ausführungszeit und liefert praktische Beispiele.
System.nanoTime()
Die System.nanoTime() Methode bietet hochauflösende Zeitmessung. Sie gibt den aktuellen Wert des präzisesten verfügbaren Systemtimers in Nanosekunden zurück. Um die Ausführungszeit zu messen, notieren Sie die Startzeit vor dem Code läuft und die Endzeit danach. Die Differenz gibt die verstrichene Zeit an.
Beispiel:
lange startTime = System.nanoTime();
// Code zum Messen
long endTime = System.nanoTime();
lange Dauer = endTime - startTime;
Verwenden von System.currentTimeMillis()
Die System.currentTimeMillis() Methode liefert die aktuelle Zeit in Millisekunden. Sie ist weniger präzise als , aber geeignet, um längere Zeiträume zu messen.
Beispiel:
lange startTime = System.currentTimeMillis();
// Code zum Messen
long endTime = System.currentTimeMillis();
lange Dauer = endTime - startTime;
Verwenden von Javas Instant Class
Die Instant Klasse aus dem java.time Paket bietet einen modernen Ansatz zur Zeitmessung. Es bietet Nanosekundengenauigkeit und eignet sich für die Messung von Dauern.
Beispiel:
Instant start = Instant.now();
// Code zum Messen
Instant end = Instant.now();
Dauer = Duration.between(start, end);
Reales Beispiel
Angenommen, Sie möchten messen, wie lange es dauert, ein großes Array zu sortieren. Mit System.nanoTime() können Sie Folgendes implementieren:
int[] array = new int[1 000 000];
//bevölkert array
lange startTime = System.nanoTime();
Arrays.sort(array);
long endTime = System.nanoTime();
System.out.println("Sortierung nahm " + (endTime - startTime) + "Nanosekunden.");