Einfache Zeitmessung im Code

Um die Ausführungsdauer einer Funktion/Logik zu messen, kann man System.Diagnostics.Stopwatch verwenden:

System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch();
watch.Start();
// ... do something
watch.Stop();
info(strFmt("%1ms", watch.ElapsedMilliseconds));
Dieser Beitrag bezieht sich auf die Version:
Dynamics 365 for Finance and Operations

Torben Nehmer 26.03.2020 14:08 | #1

Eine wichtige Ergänzung: Nicht in jedem System liefert die Stopwatch Zeitmessungen mit hoher Präzision, als über den High Precision Timer. Wird ein lang laufender Prozess gestoppt, ist dies kein Problem. Wenn aber viele kleine Prozesse (Schleifendurchläufe) gemessen werden sollen, kann dies unerwünschte Nebeneffekte haben: Ohne HPT läuft die Messung meist mit einer Genauigkeit von 7-15 ms, also vergleichsweise lange selbst wenn (einfache) Datenbankinteraktionen notwendig sind. Die Felder "Frequency" und "IsHighResolution" können hier Aufschluss geben.

Siehe dazu auch:
https://docs.microsoft.com/de-de/dotnet/api/system.diagnostics.stopwatch?view=netframework-4.8#remarks

Ansonsten: Mal von meiner Seite vielen Dank für das Blog, es ist immer wieder eine willkommene Referenz!

Heinz Schweda 28.03.2020 18:07 | #2

Vielen Dank für deine interessante Ergänzung!

Kommentar hinzufügen
 
 

 

 
 
 
Beiträge des aktuellen Monats
Mai 2024
MoDiMiDoFrSaSo
 12345
6789101112
13141516171819
20212223242526
2728293031 
 
© 2006-2024 Heinz Schweda | Impressum | Kontakt | English version | Mobile Version
Diese Webseite verwendet Cookies, um Benutzern einen besseren Service anzubieten. Wenn Sie weiterhin auf der Seite bleiben, stimmen Sie der Verwendung von Cookies zu.  Mehr dazu