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!
Assumes
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