Optimisation convertion Radian/Degré
Publié : ven. 09/sept./2011 17:33
Salut,
Un petit code qui montre quel est le calcul le plus rapide pour convertir de degré en radian
(en passant, on voit un problème du compilateur sur les 3 derniers calculs)
Donc le mieux est de multiplier directement par " * (#PI / 180) " sans oublier les parenthèses (problème compilateur)
Un petit code qui montre quel est le calcul le plus rapide pour convertir de degré en radian
Code : Tout sélectionner
#Max = 400000000
Dim Temps(10)
Temps(1) = ElapsedMilliseconds()
For i = 1 To #Max
Calcul.f = Radian(i * 10) + 5
Next
Temps(2) = ElapsedMilliseconds()
For i = 1 To #Max
Calcul.f = 10 * #PI / 180 * i + 5
Next
Temps(3) = ElapsedMilliseconds()
For i = 1 To #Max
Calcul.f = i * 10 * #PI / 180 + 5
Next
Temps(4) = ElapsedMilliseconds()
For i = 1 To #Max
Calcul.f = i * (10 * #PI / 180) + 5
Next
Temps(5) = ElapsedMilliseconds()
For i = 1 To #Max
Calcul.f = (10 * #PI / 180) * i + 5
Next
Temps(6) = ElapsedMilliseconds()
; Affichage du résultat
For i = 2 To 6
If i > 2
Texte.s + Chr(10)
EndIf
Texte.s + Str(Temps(i) - Temps(i - 1))
If i > 2
If (Temps(i) - Temps(i - 1)) > (Temps(2) - Temps(1))
Texte + " ( x " + StrD((Temps(i) - Temps(i - 1)) / (Temps(2) - Temps(1)), 2) + " )"
Else
Texte + " ( / " + StrD((Temps(2) - Temps(1)) / (Temps(i) - Temps(i - 1)), 2) + " )"
EndIf
EndIf
Next
MessageRequester("Temps", Texte)
Donc le mieux est de multiplier directement par " * (#PI / 180) " sans oublier les parenthèses (problème compilateur)