Jak mierzyć czas podjęty przez funkcję do wykonania?

Jak mierzyć czas podjęty przez funkcję do wykonania?

Mierzenie czasu, funkcja, aby wykonać ważny aspekt monitorowania wydajności i optymalizacji w tworzeniu oprogramowania. Na przykład dla programistów, którzy mają wiele implementacji dla tej samej funkcji, pomiar czasu wykonywania może pomóc im porównać ich wydajność i wybrać najbardziej wydajny.

Ten blog opisuje sposoby pomiaru czasu wykonanego przez funkcję podczas wykonania.

Jak zmierzyć czas na wykonanie funkcji?

Do pomiaru czasu wykonanego przez funkcję podczas wykonywania: podczas wykonywania:

  • Data.teraz () metoda.
  • wydajność.teraz () metoda.
  • konsola. Metoda czasu ().

Metoda 1: Zmierz czas na wykonanie funkcji za pomocą „Data.teraz () ”metoda

Użyj "Data.Teraz()„Metoda pomiaru czasu, który wymaga dowolnej funkcji do wykonania. Ta metoda podaje bieżący znacznik czasu, ponieważ liczba milisekund upłynęła od 1 stycznia 1970 r. UTC lub epok UNIX.

Przykład

Najpierw zdefiniuj funkcję o nazwie „Func”, Który drukuje liczby od 0 do 10:

funkcja func ()
dla (niech i = 0; i <=10; i++)
konsola.log (i);

Zadzwoń do daty.teraz () metoda uzyskania czasu rozpoczęcia funkcji:

var start = data.Teraz();

Wywołać zdefiniowaną funkcję między „początek" I "koniec„Znacznik czasu:

func ();

Czas upływający jest obliczany przez odjęcie czasu rozpoczęcia od czasu końcowego. Na koniec zadzwoń do daty.teraz () metoda ponownie i odejmij czas rozpoczęcia:

var executionTime = data.teraz () - start;

Na koniec wydrukuj upływający czas do konsoli do analizy:

konsola.log („Czas wykonywania funkcji dla numerów drukowania od 0 do 10 to:„ + ExecutionTime + „milisekund”);

Można zauważyć, że funkcja zajmuje 1 ms do wydrukowania liczb od 0 do 10:

Metoda 2: Zmierz czas na wykonanie funkcji za pomocą „wydajności.teraz () ”metoda

Aby zmierzyć czas wykonywania funkcji, użyj „wydajność.Teraz()" metoda. Zapewnia znacznik czasu o wysokiej rozdzielczości, który mierzy upływający czas w milisekundach z precyzją do tysięcznego milisekund.

„„Data.Teraz()„Metoda zwraca czas systemu, podczas gdy„wydajność.Teraz()”Metoda jest specjalnie zaprojektowana do pomiaru upływu czasu między dwoma punktami. Często jest używany do monitorowania wydajności i testów porównawczych, ponieważ może dostarczyć dokładniejszych informacji o czasie niż inne metody.

Przykład

Zadzwoń do "wydajność.Teraz()„Metoda rozpoczynania czasu wykonywania funkcji:

var startexecutionTime = wydajność.Teraz();

Wywołaj funkcję między czasem rozpoczęcia a końcem:

func ();

Ponownie zadzwoń do „wydajność.Teraz()„Metoda zakończenia czasu wykonywania:

var executionTimeend = wydajność.Teraz();

Odejmij czas rozpoczęcia od czasu zakończenia, aby uzyskać czas wykonania:

var ExecutionTime = ExecutionTimeend - startexecutionTime;

Na koniec wydrukuj precyzyjnie upływający znacznik czasu na konsoli:

konsola.log („Czas wykonywania funkcji dla numerów drukowania od 0 do 10 to:„ + ExecutionTime + „milisekund”);

Wyjście

Metoda 3: Zmierz czas wykonany przez funkcję do wykonania za pomocą „konsoli.metoda czasu () ”

Innym sposobem pomiaru czasu wykonania przez funkcję jest „konsola.czas()" metoda. Służy do uruchamiania czasu do pomiaru czasu trwania określonej operacji. Konsola.Metoda Time () bierze ciąg jako argument, który oznacza licznik czasu i uruchamia timer.

Ważne jest, aby zauważyć, że etykieta timera przekazała do „konsola.czas()„Metoda musi dopasować etykietę przekazaną do„konsola.timeend ()" metoda. Jeśli etykiety nie pasują, konsola.metoda timeend () nie zatrzyma licznika, a wyjście będzie nieprawidłowe.

Przykład

Zadzwoń do konsoli.Metoda czasu () do uruchomienia czasu do pomiaru funkcji wykonywania czasu rozpoczęcia:

konsola.czas („Czas wykonania na wydrukowanie liczb 0 do 10 ');

Wywołać funkcję wykonania:

func ();

Zatrzymaj timer za pomocą konsoli.Metoda timeend ():

konsola.timeend („Czas wykonania na wydrukowanie liczb 0 do 10 ');

Można zauważyć, że funkcja wymaga „1.670166015625ms”:

Zebraliśmy wszystkie podejścia do pomiaru czasu przyjmowanego przez funkcję do wykonania.

Wniosek

Aby zmierzyć czas wykonany przez funkcję wykonania, użyj „Data.teraz () ”,„ wydajność.Teraz()", albo "konsola.czas()" metoda. Wydajność.teraz () metoda zapewnia dokładniejsze informacje o pomiarze czasu niż inne metody, ponieważ ma większą precyzję i nie ma wpływu na zmiany czasu systemu. Jednak konsola.Metoda czasu () jest nadal przydatna do szybkich i wygodnych pomiarów czasowych podczas rozwoju lub debugowania. Ten blog opisał różne metody pomiaru czasu podjęcia funkcji podczas wykonywania.