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
Juni 2020
MoDiMiDoFrSaSo
1234567
891011121314
15161718192021
22232425262728
2930 
 
© 2006-2020 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