cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 9 déc. 2005 à 16:53
La boucle qui va la plus vite ? Ca n'a pas vraiment de sens... Tout dépend de ce que tu veux faire !
Si tu travaille sur des collections, la boucle For Each sera plus
rapide, sinon, privilégie une boucle While à une boucle For, mais ce
sera vraiment négligeable vu le nombre d'itération que tu as à faire,
ce sera ton algorithme qu'il faut optimiser, et non utiliser telle ou
telle instruction de boucle !
_____________________________________________________________________
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 9 déc. 2005 à 16:54
La boucle For est la plus lente des boucles.
Après entre While ... End While et Do ... Loop, cela se vaut.
Ce qui est sûr, c'est que c'"ets dans le coeur de la boucle qu'il faut optimisé au maximum.
En effet, le temps de traitement de la boucle proprement dite peut ne représenter que "peanuts" à cote de ton traitement que tu feras 548 millions fois. C'est sur lui qu'il faudra bien bosser l'optimisation.
Si tu veux plus d'infos la dessus, il faudrait nous dire ce que tu comptes faire autant de fois.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202171 9 déc. 2005 à 18:06
While plus rapide que For.....
pas sur, dumoins en VB :
la condition de fin est établie une fois pour toutes (on verifie que i ne dépasse pas le compteur, tout de même, mais plus d'evaluation), en début de boucle, faites le test, utilisez le code :
Private Sub Form_Load()
Dim i As Integer
For i = 0 To ItemCount - 1
'
Next i
End Sub
Public Property Get ItemCount() As Integer
Stop
ItemCount = 10
End Property
pour le While, le test est refait a chaque fois, sachant que ce test peux impliquer des casts, des opérations logiques, des appels a des fonctions, etc, etc
à noter que dans la majorité de langages, comme le C, par exemple, une boucle for n'est qu'une boucle while déguisée. la condition de fin est elle même évaluée a chaque itération, while et for se valent donc, dans ces langages...
mais pas en VB^^
parenthèse fermée, je rejoins ce qui a été dit, l'implémentation du contenu de ta boucle est bien plus important...
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 9 déc. 2005 à 18:10
renfield < J'avais fait des test il y a quelques temps et le For avait été le plus lent. Mais il est vraiq ue je ne faisait qu'une boucle sur un numérique, et donc la condition de sortie du while était simpliste (While i< 100000) par exemple
Vous n’avez pas trouvé la réponse que vous recherchez ?