Tiens, j'ai fait rire Kevin
Soit N le nombre de fois que le code élémentaire doit se répéter.
Soit C le nombre de cycles pris par le code élémentaire.
Soit D le nombre de cycles pris par le dbf.
Soit T le nombre de cycles pris au total par la routine.
Soit O la longueur du code élémentaire.
Soit L la longueur totale de la routine.
Enroulage complet :
L = O
T = N*(C + D)
On double la taille :
L = 2*O
T = N*C + N/2*D = N*(C + D/2)
On triple la taille :
L = 3*O
T = N*C + N/3*D = N*(C + D/3)
=>
- la fonction qui donne la longueur est : L(x) = O*x
- la fonction qui donne le temps est : T(x) = N*(C+D/x)
Ce qui donne une courbe en 1/x :
On voit hyper-clairement que le temps d'exécution est grand si on ne déroule pas, mais qu'il finit par ne plus diminuer de manière sensible quand on déroule trop.
Pour finir : la taille augmente linéairement, et le temps diminue ???ment.