Il est d'ailleurs intéressant de noter que le premier exemple concret avec programme (écrire "(a+b)+(c+d)" au lieu de "a+b+c+d") est faux sur mon p4-HT. Les deux valeurs sont de 127 clock ticks. Ceci dit gcc n'a pas l'air de s'être bien débrouilllé dans le cas "opt" il charge en registre la quatrième valeur bien trop tard si je ne m'abuse. Et d'ailleurs c'est bizarre que nico ait obtenu 38 clocks ticks sur sa machine dans le premier cas, mes 127 font pâle figure..
[^] # Re: Meuh
Posté par gc . En réponse au message Optimisation de code C. Évalué à 2.
#APP
RDTSC
#NO_APP
movl %edx, -36(%ebp)
.loc 1 17 0
movl -32(%ebp), %ecx
movl -28(%ebp), %edx
.loc 1 16 0
movl %eax, -40(%ebp)
.loc 1 17 0
movl -20(%ebp), %eax
addl %ecx, %edx
movl -24(%ebp), %ecx
addl %ecx, %eax
leal (%eax,%edx), %ecx
.loc 1 18 0
#APP
RDTSC
#NO_APP
#APP
RDTSC
#NO_APP
movl %edx, -36(%ebp)
.loc 1 24 0
movl -28(%ebp), %esi
movl -32(%ebp), %edx
.loc 1 23 0
movl %eax, -40(%ebp)
.loc 1 24 0
movl -20(%ebp), %edi
movl -24(%ebp), %eax
addl %edx, %esi
addl %eax, %esi
addl %edi, %esi
.loc 1 25 0
#APP
RDTSC
#NO_APP