Search Tools Links Login

speedcheck - calculates a functions runtime in ms (4 code-optimization)

Posted: 2002-06-01
By: ArchiveBot
Viewed: 119

Filed Under:

Visual Basic 6, Visual Basic 6, Visual Basic 6, Visual Basic 6

No attachments for this post


Just one line of code is needed to test a functions speed -> With this class-module.
It creates an object which is automatically terminated together with the function you check and it uses debug.print to let you know how long your pc had been busy (in ms) with that function.
Sure you can save the value of timer() and read it before your function reaches exit/end function, but its harder to remove this before you release your app... So try this!

Original Author: Max Christian Pohle

Assumptions

Dim A as New <Object> is slower than Dim A as <Object>: Set A = New <Object>

API Declarations

'Create a new Class-Module for this
'and call it "SpeedCheck":

Option Explicit
Private Declare Function GetTickCount Lib "kernel32.dll" () As Long
Private StartPoint As Long
Public Property Get CurRunTime() As Long
RunTime = GetTickCount - StartPoint
End Property
Private Sub Class_Initialize()
StartPoint = GetTickCount
End Sub
Private Sub Class_Terminate()
Debug.Print "- - - - - Your function needed: " & GetTickCount - StartPoint & " ms"
End Sub

Code

'This is just an example to use it...
'Its as easy as possible-
'therefor I do not use option explicit here
'and I work with a slow variant-datatype :-)
Private Sub Form_Load()
  Dim A As SpeedCheck: Set A = New SpeedCheck
  
  For I = 0 To 1000
    Debug.Print "Debug-Print is very slow!"
  Next I
End Sub


Comments on this post

No comments have been added for this post.

You must be logged in to make a comment.