echo ("viewtopic_body.html wird ausgeführt!\n");

Code-Optimierung: StoppUhr - Wie lange braucht mein Code?

.. das wohl mächtigste Werkzeug in Bill Gates' Büro-Sippe. Ob reine Formeln, PowerQuery oder VBA. Hier bleiben kaum Wünsche unerfüllt.
d'r Bastler
Beiträge: 928
Registriert: 29. Aug 2022, 13:20
Hat sich bedankt: 255 Mal
Danksagung erhalten: 134 Mal

Code-Optimierung: StoppUhr - Wie lange braucht mein Code?

#1

Beitrag von d'r Bastler »

Eine Stoppuhr, die die benötigte Zeit einer Prozedur misst und ausgibt:
In einem allgemeinem Modul:

Code: Alles auswählen

Option Explicit
Public sgStart As Single, sgStop As Single, sgTime As Single
Public dbStart As Double, dbStop As Double, dbTime As Double
Public lgStart As Long, lgStop As Long, lgTime As Long

Sub TimerStart()
    sgStart = Timer
    dbStart = Timer
    lgStart = Timer
    'UserForm1.Caption = "läuft ..."
End Sub

Sub TimerStop()
    sgStop = Timer
    dbStop = Timer
    lgStop = Timer
    TimerTime
End Sub

Sub TimerTime()
    sgTime = sgStop - sgStart
    dbTime = dbStop - dbStart
    lgTime = lgStop - lgStart
    MsgBox _
    "Single " & sgTime & vbNewLine & _
    "Double " & dbTime & vbNewLine & _
    "Long   " & lgTime & vbNewLine, , "Sekunden"
    'UserForm1.Caption = "UserForm1"
End Sub
Der Aufruf klappt über Buttons in einer UserForm (einkommentieren) oder einfach zu Beginn/Ende der zu messenden Prozeduren gesetztem Aufruf und liefert eine msgbox mit den Ergebnissen dreier Genauigkeiten.

Viel Spaß!
d'r Bastler von den VBAsteleien.de
Win 10 + Office 2019 pro [32] & Win11 + Office 2024 pro [64] & macOS.X15 + Office2019 pro & Android12 & XL365
Sulprobil
Beiträge: 22
Registriert: 23. Sep 2022, 05:54
Hat sich bedankt: 3 Mal
Danksagung erhalten: 14 Mal
Kontaktdaten:

Re: Code-Optimierung: StoppUhr - Wie lange braucht mein Code?

#2

Beitrag von Sulprobil »

Hallo,

ich fand auch diese Lösung zur Messung von Laufzeiten sehr hilfreich:
https://jkp-ads.com/Articles/performanceclass.asp

Viele Grüße,
Bernd
Folgende Benutzer bedankten sich beim Autor Sulprobil für den Beitrag (Insgesamt 2):
thowe, d'r Bastler
d'r Bastler
Beiträge: 928
Registriert: 29. Aug 2022, 13:20
Hat sich bedankt: 255 Mal
Danksagung erhalten: 134 Mal

Re: Code-Optimierung: StoppUhr - Wie lange braucht mein Code?

#3

Beitrag von d'r Bastler »

Moin Bernd!

Auch Dir natürlich ein herzliches Willkommen hier!

Deinen Link habe ich mir angeschaut und frage mich: Wieso so viel Code für eine Zeitmessung, die sich mit wenigen Zeilen realisieren lässt?
Drei Variablen, eine für den Start, eine für das Ende, eine für die Zeitspanne (die unterschiedlichen Genauigkeiten hatte ich in meine Code berücksichtigt) und schon ist's erledigt.

Lässt Du mich die Vorteile Deines Vorschlags lernen?

Lieben Dank!
d'r Bastler von den VBAsteleien.de
Win 10 + Office 2019 pro [32] & Win11 + Office 2024 pro [64] & macOS.X15 + Office2019 pro & Android12 & XL365
Sulprobil
Beiträge: 22
Registriert: 23. Sep 2022, 05:54
Hat sich bedankt: 3 Mal
Danksagung erhalten: 14 Mal
Kontaktdaten:

Re: Code-Optimierung: StoppUhr - Wie lange braucht mein Code?

#4

Beitrag von Sulprobil »

Hallo Bastler,

Dein Code reicht völlig aus, wenn Du lediglich eine Routine oder Code Sequenz untersucht.
Aber wenn Du z. B. 10 Subs hast, die sich gegenseitig zigtausendmal aufrufen (müssen), dann willst Du nicht nur die Zeiten, sondern auch deren Aufrufhäufigkeiten inklusive Zusammenfassung.
Und genau für solche aufwändigeren Analysen ist die Codeklasse sehr gut und einfach zu nutzen.

Viele Grüße,
Bernd
Folgende Benutzer bedankten sich beim Autor Sulprobil für den Beitrag:
d'r Bastler
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste