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 ⁇ );