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
November 2022
MoDiMiDoFrSaSo
 123456
78910111213
14151617181920
21222324252627
282930 
 
© 2006-2022 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