Sprawdzenie czasu wykonywania procedury

Czasami chcemy wiedzieć ile czasu trwało wykonanie procedury (jest to przydatne gdy dana procedura np. obrabia duży plik i chcemy sprawdzić który z dwóch algorytmów jest szybszy). W tym celu należy odczytać aktualny czas na początku i na końcu danej procedury, różnica owych czasów to czas trwania procedury. Zmienna wbudowana Timer przechowuje liczbę która informuje nas ile sekund minęło od północy.

Uwaga: poniższy przykład jest dość uproszczony. Nie zakłada on specyficznej sytuacji gdy np. makro zostanie uruchomione 3 sekundy przed północą i zakończy się wykonywać 2 sekundy po północy dnia następnego.

Sub CzasTrwania()
    Dim Poczatek As Single
    Dim Koniec As Single
    Dim Dlugosc As Single
    
    Dim a As Long, b As Long
    
    Poczatek = Timer
    
    For a = 1 To 100000000
        b = b + 1
    Next a
        
    Koniec = Timer
    Dlugosc = Round(Koniec - Poczatek, 2)
    
    MsgBox "Procedura wykonywała się: " & Dlugosc & " sekund", vbInformation
End Sub

Funkcja Round w powyższym przykładzie zaokrągla liczbę do 2 miejsc po przecinku

Wróć do spisu treści