Rubrik: Datum/Zeit und Timer · Timer | VB-Versionen: VB.NET | 06.12.06 |
Codeoptimierung durch effektive Zeitmessung (VB 2005) Kurz-Vorstellung der Stopwatch-Klasse in Namespace System.Diagnostics | ||
Autor: Daniel Bühling | Bewertung: | Views: 17.877 |
www.mysldworks.de | System: WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Leistungsfähigen und effizient programmierten Code erkennt man meist an der Laufzeit. Deshalb ist es für die schlanke Programmierung wichtig zu erkennen, an welchen Stellen die Laufzeitschwächen des Codes liegen, um diesen zu optimieren.
Auch für diese Aufgabe bietet das .NET Framework 2.0 eine Lösung. Die Stopwatch-Klasse in Namespace System.Diagnostics.
Deklaration:
Dim oTime As System.Diagnostics.Stopwatch oTime = New System.Diagnostics.Stopwatch
Methoden:
' Starten der Zeitmessung oTime.Start()
' Stoppen der Zeitmessung oTime.Stop()
' Zurücksetzen und Stoppen der Zeitmessung oTime.Reset()
Eigenschaften (Properties):
' Abfrage ob eine Zeitmessung läuft Debug.Print(oTime.IsRunning)
' Ausgabe des vergangenen Zeit in Ticks ' (seit dem Ausführen der Start Methode) Debug.Print(oTime.ElapsedTicks)
' Ausgabe des vergangenen Zeit in Millisekunden ' (seit dem Ausführen der Start Methode) Debug.Print(oTime.ElapsedMilliseconds)
' Ausgabe des vergangenen Zeit durch ein TimeSpan Objekt ' (seit dem Ausführen der Start Methode) Dim oZeitSpanne As New TimeSpan oZeitSpanne = oTime.Elapsed
Anwendungsbeispiel (Zeitmessung in einer Schleife):
' Deklaration Dim oTime As System.Diagnostics.Stopwatch oTime = New System.Diagnostics.Stopwatch ' Zeitmessung beginnen oTime.Start() ' Schleife (Laufzeit simulieren) For i As Integer = 0 To 50 Debug.Print("Die Schleife ist bei i=" & i) Next ' Zeitmessung anhalten oTime.Stop() ' Gemessene Zeit im Millisekunden ausgeben Debug.Print("Vergangene Zeit: " & oTime.ElapsedMilliseconds) ' Zeit zurücksetzen oTime.Reset()