Introduction
On les utilises très couramment, elle servent tout et pourtant elles consomment votre CPU : Les fonctions !
Parmi celles-ci, il est une sorte, élémentaire, mais pourtant que vous utilsez très souvent, et pour cause : Les Fonctions à Variable Numérique Réelle
En gros, c'est une fonction mathématique qui prend pour argument des nombres et renvoie comme valeur de retour un autre nombre.
Deux écritures identiques
Si à l'intérieur de ce groupe on se penche sur les équations du second degré, on se rend compte qu'il existe deux manières de représenter la même equation :
Sub Equa1(ByVal X As Integer)
Dim k As Integer = 3 * X ^ 2 + 9 * X + 6
End Sub
Sub Equa2(ByVal X As Integer)
Dim k As Integer = 3 * (X - 2) * (X - 1)
End Sub
Et ici, la même chose pour des décimaux [EDIT: Merci Renfield de m'avoir fait remarquer l'erreur] :
Sub Equa1(ByVal X As Double)
Dim k As Double = 3 * X * X + 9 * X + 6)
End Sub
Sub Equa2(ByVal X As Double)
Dim k As Double = 3 * (X - 2) * (X - 1)
End Sub
Et bien, on constate que la méthode Equa1 (dite "factorisée") est nettement plus rentable que la méthode Equa2 (dite "complète").
Résultats exacts
Faits pour VB 2008, confirmés par un test en JavaScript qui donne des résultats sembles à ce qui est obtenu pour Double :
21236 (Equa1 : Integer)
2266 (Equa2 : Integer)
6831 (Equa1 : Double)
4086 (Equa2 : Double)
Conséquence
Préférez toujours la formule factorisée à la complète, cela accélèrera votre application. Pour convertir d'une forme à l'autre, il faut soit développer (Factorisée > Complète) soit chercher les racines (Discriminant / Réalisant, ...)
[EDIT:Évitez aussi autant que possible l'opérateur '^' qui diminue grandement les performances du programme (voir commentaires)]
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :