Table of Contents
Måling av driftstiden for kode er viktig for å optimalisere ytelsen i Java-applikasjoner. Det hjelper utviklere å identifisere flaskehalser og forbedre effektiviteten. Denne artikkelen utforsker vanlige metoder for å beregne utførelsestid og gir praktiske eksempler.
Bruker System.nanoTime()
System.nanoTime() metoden tilbyr tidsmåling med høy oppløsning. Den returnerer den nåværende verdien av den mest nøyaktige tilgjengelige systemtimeren i nanosekunder. For å måle utførelsestiden, registrerer starttiden før koden kjører og slutttiden etterpå. Forskjellen indikerer den forfallne tiden.
Eksempel:
lang startTime = System.nanoTime();
/kode å måle]
lang endetid = System.nanoTime();
lang varighet = endTime - startTime;]
Bruker System.currentTimeMillis()
System.currentTimeMillis() metoden gir gjeldende tid i millisekunder. Den er mindre presis enn ] men egnet for å måle lengre varighet. Lignende den forrige metoden, registrere start- og slutttider rundt kodeblokken.
Eksempel:
lang startTime = System.currentTimeMillis();
/kode å måle]
lang endetid = System.currentTimeMillis();
lang varighet = endTime - startTime;]
Bruk Javas Instant Class
Instant klasse fra ]java.time pakke tilbyr en moderne tilnærming til tidsmåling. Den gir nanosekund presisjon og er egnet for måle varighet.
Eksempel:
Instant start = Instant.now();
/kode å måle]
Instant end = Instant.now();
Varighet = Varighet.mellom(start, slutt);
Eksempler på virkelighet
Anta at du vil måle hvor lang tid det tar å sortere en stor rekke. Bruker [[FLT: 0]]System.nanoTime()[[FLT: 1], kan du implementere følgende:
int[] array = ny intenst[1 000 000];]
// populat-array
lang startTime = System.nanoTime();
Arrays.sort(array);
lang endetid = System.nanoTime();
System.out.println( ⁇ Sortering tok ⁇ + (endTime - startTime) + ⁇ nanoseconds ⁇ );