How to measure function execution time in VB.NET

1 Answer

0 votes
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
'


 



answered May 27 by avibootz
...