Tu a essayé de compiler ton code ? Chez moi, avec GCC 4.7.1 en 64bit:
testinline.c: In function ‘mafonction1’:
testinline.c:13:1: warning: comparison is always false due to limited range of data type [-Wtype-limits]
testinline.c: At top level:
testinline.c:34:6: warning: return type of ‘main’ is not ‘int’ [-Wmain]
testinline.c: In function ‘main’:
testinline.c:49:9: warning: assignment makes integer from pointer without a cast [enabled by default]
testinline.c:58:9: warning: assignment makes integer from pointer without a cast [enabled by default]
testinline.c:37:9: warning: variable ‘x’ set but not used [-Wunused-but-set-variable]
[23:5
Et les résultats chez moi après avoir corrigé au moins les calculs de temps :
O0 : Inline-Macro: 20691390, pas d'inline
O1 : Inline-Macro: 25125555, fonction omise, lecture du tableau omise, mais boucle de 0 à TESTSCOUNT conservée
O2 : Inline-Macro: 0 ou 18446744073709551595 (integer underflow), boucle de 0 à TESTCOUNT omise, lecture du tableau omise, on mesure plus rien du tout, mais l'initialisation du tableau est conservée.
O3 : Code assembleur identique à O2.
Enfin bref, c'est pas le tout de pondre du code de test, mais autant que ce code calcule quelque chose qui ne puisse pas être connu à l'avance, et qui soit ensuite réellement utilisé.
Enfin bref, n'optimisez que des programmes finis qui servent à quelque chose.
[^] # Re: Une table
Posté par Batchyx . En réponse au message Coût d'un accès mémoire.. Évalué à 3.
Tu a essayé de compiler ton code ? Chez moi, avec GCC 4.7.1 en 64bit:
Et les résultats chez moi après avoir corrigé au moins les calculs de temps :
Enfin bref, c'est pas le tout de pondre du code de test, mais autant que ce code calcule quelque chose qui ne puisse pas être connu à l'avance, et qui soit ensuite réellement utilisé.
Enfin bref, n'optimisez que des programmes finis qui servent à quelque chose.