L'analyse comparative du Code VBA
Ce qui est considéré comme le moyen le plus précis pour indice de référence du code VBA (dans mon cas, je suis en train de tester le code dans Excel)? Existe-il d'autres techniques pour l'analyse comparative de code en plus de la 2 ci-dessous, et si oui, quels sont les avantages/inconvénients de la méthode?
Voici 2 méthodes populaires.
Première: Minuterie
Sub TimerBenchmark()
Dim benchmark As Double
benchmark = Timer
'Do your code here
MsgBox Timer - benchmark
End Sub
Et Tique (qui je vois a fait valoir que la plus précise):
Option Explicit
Private Declare Function GetTickCount Lib "kernel32" () As Long
Sub TickBenchmark()
Dim Start As Long
Dim Finish As Long
Start = GetTickCount()
'Do your code here
Finish = GetTickCount()
MsgBox CStr((Finish - Start) / 1000)
End Sub
OriginalL'auteur aevanko | 2011-08-18
Vous devez vous connecter pour publier un commentaire.
Le code suivant utilise une fonction de windows qui est plus précis que Excel. Il est tiré de http://msdn.microsoft.com/en-us/library/aa730921.aspx#Office2007excelPerf_MakingWorkbooksCalculateFaster. La même page contient également quelques conseils sur l'amélioration de la performance dans Excel 2007.
L'auteur de cette pièce est un collaborateur régulier de Stackoverflow. Son propre site web est beaucoup plus grande d'informations sur Excel et performance: decisionmodels.com
Pourriez-vous nous résumer le code dans le lien dans votre réponse afin de prévenir la pourriture des liens? Aussi, le microtimer code ne semble pas fonctionner sur une version 64 bits d'Excel. Existe-il des alternatives pour le 64 bits?
FWIW, ajouter
PtrSafe
entreDeclare
etFunction
pour la déclaration des fonctions de l'API dans MS Office 64 bits.OriginalL'auteur RonnieDickson
Question intéressante. Ce n'est pas vraiment une réponse mais c'est trop long pour être posté un commentaire.
Ce que j'utilise est ce genre de procédure:
De cette façon, vous pouvez mettre votre code où vous voulez et n'avez qu'à l'appeler deux fois (par exemple):
Au début et à la fin de la partie de code que vous voulez tester.
Encore, je dirais qu'il y a pas de véritable "précise" de la méthode, car il dépend aussi de ce qui est en cours d'exécution sur votre ordinateur. Je dirais que ces méthodes seraient surtout aider à dire le code qui est mieux qu'un autre.
OriginalL'auteur JMax
Toute la mesure va être bruyant, donc si vous voulez de la précision, répéter la mesure de nombreuses fois et la moyenne du résultat.
OriginalL'auteur Mike Dunlavey
Professionnel Excel De Développement contient une dll utilitaire
PerfMon
que je préfère, et de son exactitude, et qu'il peut être facilement inséré dans tout le code avec un couple de clicsOriginalL'auteur brettdj