OVH Cloud OVH Cloud

mesurer la rapidité du code VBA

5 réponses
Avatar
twinley
Bonjour

Pour faire suite à plusieurs solutions proposées à mes questions, je me demande comment savoir qu'elle formule est la moins gourmande en temps de calcul ? A condition d'avoir les mêmes fonctionnalités, bien sur
Un code court devrait être plus rapide, mais comment en être sûr
Existe t'il des benchmarks ou des info MS qui permettent de choisir le code VBA le plus rapide
J'ai vu un post précédent "comment afficher les centièmes de secondes". C'est une facon de voir les temps de réponse un peu lourde mais qui apporte un debut de réponse appréciable dans une situation précise
Je développe un petit bot qui avale des données en temps réel, d'ou ma curiosité

Merc

à

5 réponses

Avatar
Philippe.R
Bonjour,
Une solution parmi d'autres tu places dans tes macros

Debu=now
... ton code ....
et à la fin
Fini=now
Tps=Fini-Debu
Msgbox tps

et tu compares
--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"twinley" a écrit dans le message de
news:
Bonjour,

Pour faire suite à plusieurs solutions proposées à mes questions, je me demande comment savoir
qu'elle formule est la moins gourmande en temps de calcul ? A condition d'avoir les mêmes

fonctionnalités, bien sur.
Un code court devrait être plus rapide, mais comment en être sûr ?
Existe t'il des benchmarks ou des info MS qui permettent de choisir le code VBA le plus rapide ?
J'ai vu un post précédent "comment afficher les centièmes de secondes". C'est une facon de voir les
temps de réponse un peu lourde mais qui apporte un debut de réponse appréciable dans une situation

précise.
Je développe un petit bot qui avale des données en temps réel, d'ou ma curiosité.

Merci

à+



Avatar
Pascal Engelmajer
Salut,
le pb de la vitesse est complexe...
dans ce domaine l'expérience prime.
Un code court devrait être plus rapide, mais comment en être sûr ?
il faut parfois allonger le code pour optimiser un algorithme

Voir chez Laurent Longre : http://longre.free.fr/pages/prog/accvba.htm
un exemple d'algorithme de tri qui évite l'usage de la récursivité.
Adrien Delcour a commenté mon algorithme...
http://www.ilyapa.net/baseExcel/tri.html
.../...
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
http://www.ilyapa.net/baseExcel
"twinley" a écrit dans le message de
news:
Bonjour,

Pour faire suite à plusieurs solutions proposées à mes questions, je me
demande comment savoir qu'elle formule est la moins gourmande en temps de

calcul ? A condition d'avoir les mêmes fonctionnalités, bien sur.
Un code court devrait être plus rapide, mais comment en être sûr ?
Existe t'il des benchmarks ou des info MS qui permettent de choisir le
code VBA le plus rapide ?

J'ai vu un post précédent "comment afficher les centièmes de secondes".
C'est une facon de voir les temps de réponse un peu lourde mais qui apporte

un debut de réponse appréciable dans une situation précise.
Je développe un petit bot qui avale des données en temps réel, d'ou ma
curiosité.


Merci

à+



Avatar
twinley
Merci pour vos réponses.
Je vais inclure la sub avec le format de michdenis hh:mm:ss,00 pour avoir les centièmes

Je vais étudier les liens pour exploiter les points connus.
Visiblement MicroSoft ne raconte pas sa vie sur le sujet

Bien evidemment l'algorythme fait la différence..

à+
Avatar
Pascal Engelmajer
Salut,
Timer donne aussi le 1/100 de seconde
MsgBox Timer
pour le millième il faut utiliser la Fonction GetTickCount
'========================================= Declare Function GetTickCount Lib "kernel32" () As Long
Cette fonction donne le nombre de millisecondes qui se sont écoulées depuis
le début de la session courante de Windows.
sub test
Dim lgTime As Long
Dim lgMSec As Long
lgTime = GetTickCount
lgMSec = 3 '3/1000 s
Debug.Print lgTime
Do While lgTime + lgMSec > GetTickCount
DoEvents
DoEvents
DoEvents
Loop
Debug.Print lgTime
End Sub
cela doit être assez précis...
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
http://www.ilyapa.net/baseExcel
"twinley" a écrit dans le message de
news:
Merci pour vos réponses.
Je vais inclure la sub avec le format de michdenis hh:mm:ss,00 pour avoir
les centièmes.


Je vais étudier les liens pour exploiter les points connus.
Visiblement MicroSoft ne raconte pas sa vie sur le sujet.

Bien evidemment l'algorythme fait la différence...

à+


Avatar
twinley
Super, encore une voie à explorer. Merci.