• [^] # Re: Meuh

    Posté par . En réponse au message Optimisation de code C. Évalué à 2.

    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..

    #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