Mätning av körtiden för koden är avgörande för att optimera prestanda i Java-applikationer. Det hjälper utvecklare att identifiera flaskhalsar och förbättra effektiviteten. Denna artikel utforskar vanliga metoder för att beräkna genomförandetiden och ger praktiska exempel.

Använda System.nanoTime()

]System.nanoTime()]] metoden erbjuder högupplöst tidsmätning. Den returnerar det aktuella värdet av den mest exakta tillgängliga system timer, i nanosekunder. För att mäta utförandetid, spela in starttiden innan koden körs och sluttiden efteråt. Skillnaden indikerar den förflutna tiden.

Exempel:

Lång startTime = System.nanoTime();]

//kod för att mäta

Långt slutTid = System.nanoTime();]

Lång varaktighet = endTime - startTime; ]

Använda System.currentTimeMillis()

]System.currentTimeMillis()]]]-metoden ger den aktuella tiden i millisekunder. Det är mindre exakt än ] men lämplig för mätning av längre varaktigheter. Liknande den tidigare metoden, spela in start- och sluttiderna runt kodblocket.

Exempel:

Lång startTime = System.currentTimeMillis();]

//kod för att mäta

Långt slutTid = System.currentTimeMillis(),]

Lång varaktighet = endTime - startTime; ]

Använda Javas omedelbara klass

]]] Instant[]] klass från ]]java.time[]]]]]]] paketet erbjuder en modern inställning till tidsmätning. Det ger nanosekund precision och är lämplig för mätning av varaktigheter.

Exempel:

] Instant start = Instant.now();]

//kod för att mäta

] Instant end = Instant.now();]

Varaktighet = Varaktighet.mellan (start, slut);

Real-världsexempel

Anta att du vill mäta hur lång tid det tar att sortera en stor array. Använda ]System.nanoTime()], kan du implementera följande:

]]int[[] array= new int [1 000 000];]

// Populär matris

Lång startTime = System.nanoTime();]

]Arrays.sort(array);

Långt slutTid = System.nanoTime();]

]System.out.println("Sorting tog" + (endTime - startTime) + "nanosekunder");]