Hvordan måle tid tatt av en funksjon for å utføre?

Hvordan måle tid tatt av en funksjon for å utføre?

Måling av tiden tar en funksjon for å utføre et viktig aspekt ved ytelsesovervåking og optimalisering i programvareutvikling. For eksempel for utviklere som har flere implementeringer for samme funksjon, kan måling av utførelsestiden hjelpe dem med å sammenligne ytelsen og velge den mest effektive.

Denne bloggen vil beskrive måtene å måle tiden som er tatt av en funksjon under utførelse.

Hvordan måle tid for å utføre en funksjon?

Følgende metoder brukes for å måle tiden som er tatt av en funksjon under utførelse:

  • Dato.nå () Metode.
  • opptreden.nå () Metode.
  • konsoll. tid () metode.

Metode 1: Mål tid for å utføre en funksjon ved å bruke “Dato.nå () ”metode

Bruke "Dato.nå()”Metode for å måle tiden som tar av enhver funksjon å utføre. Denne metoden gir dagens tidsstempel etter hvert som antall millisekunder har gått siden 1. januar 1970 UTC eller UNIX -epoken.

Eksempel

Først, definer en funksjon som heter “func”Som skriver ut nummer 0 til 10:

funksjon func ()
for (la i = 0; i <=10; i++)
konsoll.logg (i);

Ring datoen.Nå () Metode for å få starttid for funksjonen:

var start = dato.nå();

Påkalle den definerte funksjonen mellom "start”Og“slutt”Tidsstempler:

func ();

Den forløpede tiden beregnes ved å trekke starttiden fra slutttiden. For slutttid, ring datoen.nå () metode igjen og trekke fra starttiden fra den:

var utførelsestid = dato.nå () - start;

Til slutt, skriv ut den forløpte tiden til konsollen for analyse:

konsoll.Logg ("Utførelsestidspunktet for utskriftsnummer 0 til 10 er:" + Executiontime + "millisekunder");

Det kan sees at funksjonen tar 1ms å skrive ut tallene 0 til 10:

Metode 2: Mål tid for å utføre en funksjon ved hjelp av “ytelse.nå () ”metode

For å måle utførelsestiden for en funksjon, bruk "opptreden.nå()”Metode. Det gir en høyoppløselig tidsstempel som måler den forløpte tiden i millisekunder med en presisjon på opptil en tusendelse av et millisekund.

Dato.nå()”Metode returnerer systemtiden, mens“opptreden.nå()”Metoden er spesielt designet for å måle den forløpte tiden mellom to punkter. Det brukes ofte til ytelsesovervåking og benchmarking, da det kan gi mer nøyaktig tidsinformasjon enn andre metoder.

Eksempel

Ring "opptreden.nå()”Metode for å starte utførelsestid for funksjon:

var startExecutiontime = ytelse.nå();

Påkalle funksjonen mellom start og slutttid:

func ();

Igjen, ring “opptreden.nå()”Metode for å avslutte utførelsestid:

VaR ExecutionTimeEnd = ytelse.nå();

Trekk starttiden fra slutttid for å få utførelsestiden:

VaR ExecutionTime = Utførelsestid - StartExecutionTime;

Til slutt, skriv ut den nøyaktige forløpede tidsstempelet på konsollen:

konsoll.Logg ("Utførelsestidspunktet for utskriftsnummer 0 til 10 er:" + Executiontime + "millisekunder");

Produksjon

Metode 3: Mål tid tatt av en funksjon for å utføre ved hjelp av “konsoll.tid () ”-metode

En annen måte å måle utførelsestiden med en funksjon er "konsoll.tid()”Metode. Det brukes til å starte en tidtaker for å måle varigheten av en viss operasjon. Konsollen.Tid () -metoden tar en streng som et argument, som merker tidtakeren og starter tidtakeren.

Det er avgjørende å merke seg at timeretiketten sendte til "konsoll.tid()”Metoden må samsvare med etiketten som sendes til“konsoll.timeend ()”Metode. Hvis etikettene ikke stemmer, samsvarer konsollen.Timeend () -metoden vil ikke stoppe tidtakeren, og utgangen vil være feil.

Eksempel

Ring konsollen.Tid () Metode for å starte tidtakeren for måling av funksjonsutførelse Starttid:

konsoll.Tid ('Utførelsestid for å skrive ut tallene 0 til 10');

Påkalle funksjonen for å utføre:

func ();

Stopp tidtakeren ved hjelp av konsollen.Timeend () Metode:

konsoll.timeend ('utførelse tid til å skrive ut tallene 0 til 10');

Det kan observeres at funksjonen tar "1.670166015625ms”:

Vi har samlet alle tilnærmingene for å måle tiden som er tatt av en funksjon for å utføre.

Konklusjon

For å måle tiden som er tatt av en funksjon for utførelse, bruk "Dato.Nå () ”,“ Performance.nå()", eller "konsoll.tid()”Metode. Forestillingen.nå () -metoden gir mer nøyaktig tidsinformasjon enn andre metoder fordi den har høyere presisjon og ikke påvirkes av systemets tidsendringer. Imidlertid konsollen.Tid () Metode er fremdeles nyttig for rask og praktisk tidsmålinger under utvikling eller feilsøking. Denne bloggen beskrev forskjellige metoder for å måle tiden som er tatt av en funksjon under utførelse.