Imports System
Imports System.Diagnostics
' Measuring function execution time in
' VB.NET using a reusable Timer (milliseconds + seconds)
Module MeasureTimeWithTimer
' ---------------------------
' Reusable Timer class
' ---------------------------
Public Class Timer
Private startTime As Stopwatch
' Start the timer
Public Sub StartTimer()
startTime = Stopwatch.StartNew()
End Sub
' Stop the timer
Public Sub StopTimer()
startTime.Stop()
End Sub
' Return elapsed time in milliseconds
Public Function ElapsedMilliseconds() As Double
Return startTime.Elapsed.TotalMilliseconds
End Function
' Return elapsed time in seconds
Public Function ElapsedSeconds() As Double
Return startTime.Elapsed.TotalSeconds
End Function
End Class
' ---------------------------
' Function to measure
' ---------------------------
Sub Work()
Dim sum As Long = 0
For i As Long = 0 To 100000000
sum += i
Next
End Sub
' ---------------------------
' Main program
' ---------------------------
Sub Main()
Dim t As New Timer()
t.StartTimer()
Work()
t.StopTimer()
Dim ms As Double = t.ElapsedMilliseconds()
Dim sec As Double = t.ElapsedSeconds()
Console.WriteLine("Execution time: " & ms & " ms")
Console.WriteLine("Execution time: " & sec & " seconds")
End Sub
End Module
' run:
'
' Execution time: 159.4778 ms
' Execution time: 0.1594778 seconds
'