Tester le temps d'exécution d'une fonction
Le code qui suit permet de connaître en millisecondes le temps d'exécution d'une fonction.
L'argument "strFunction" correspond au nom de la fonction que l'on souhaite tester, si cette dernière a des arguments obligatoires, il conviendra de les renseigner dans cette variable.
L'argument "lngX" permet de spécifier le nombre de fois que l'on souhaite lancer la fonction pour la tester, cet argument n'est pas obligatoire, sa valeur par défaut et "1". Pour de grosses fonctions assées longues, il n'est pas utile de renseigner cet argument par contre lorsque la fonction est très rapide (moins d'une seconde) il vaut mieux le spécifier.
Public Function TimeOfFunction(strFunction As String, Optional lngX As Long = 1) As Long
'** Fonction permettant de tester le temps
'** d'exécution d'une fonctionDim sngStart As Single
Dim sngEnd As Single
Dim i As LongsngStart = Timer
For i = 1 To lngX
Eval (strFunction)
Next
sngEnd = Timer
TimeOfFunction = (sngEnd * 1000) - (sngStart * 1000)End Function
Cette fonction pourra être appelée de la façon suivante par exemple pour tester fonction1 et fonction2 :
Debug.Print "Teste fonction1", TimeOfFunction ("fonction1('argument texte fonction 1')", 10000)
Debug.Print "Teste fonction2", TimeOfFunction ("fonction2('argument texte fonction 2')", 10000)
Auteur : Jessy SEMPERE