On Fri, 17 Aug 2001, Laurent Vuibert wrote:
> Cedric De Wilde wrote:
>
> De plus en assembleur (tout programme ecrit en c est d'abord transcrit
> en assembleur puis en langage machine) les instructions sont plus ou
> moin rapide
> l'unit� de temps es le cycle d'horloge t=1/f (f=fr�quence du processeur)
> un incrementation de 1 peut prendre 1 cycle d'horloge alors que de
> l'adressage index� (ex tab[8]) peut en prendre plus de 6
>
> c'est temps diff�rre d'un model de processeur � un autre:
Tout � fait. Le compilateur peut aussi faire varier cela et le code g�n�r�
est souvent tr�s optimiz� (suivant les param�tres pass�s au compilateur).
Voici quelques param�tres d'optimization dans GCC :
-fcaller-saves -fcse-follow-jumps -fcse-skip-blocks
-fdelayed-branch -felide-constructors
-fexpensive-optimizations -ffast-math -ffloat-store
-fforce-addr -fforce-mem -finline-functions
-fkeep-inline-functions -fmemoize-lookups
-fno-default-inline -fno-defer-pop
-fno-function-cse -fno-inline -fno-peephole
-fomit-frame-pointer -frerun-cse-after-loop
-fschedule-insns -fschedule-insns2
-fstrength-reduce -fthread-jumps -funroll-all-loops
-funroll-loops -O -O2 -O3
http://gcc.gnu.org/onlinedocs/gcc-3.0/gcc_3.html#SEC13
J'ai d�j� vu un obs�d� d'optimization qui essaye plusieurs param�tres et
genere en assembleur son code et le lit et l'interpr�te pour voir
l'optimization la plus judicieuse. Bien sur, en mode prot�g� i386, il faut
avoir du courage pour certains algo... Mais par contre, cela peut �tre
aussi tr�s pratique lors de cross-compilation pour des syst�mes embarqu�s.
Enfin, c'�tait off-topic mais le compilateur GCC est une petite merveille
de m�canique et on le connait bien mal... (Voil� un prochain bouquin pour
O'Reilly : "Mastering GCC" 8-))
alx
--
---
Alexandre Dulaunoy
Work : http://www.conostix.com/ [EMAIL PROTECTED]
Private : http://www.thinkingsecure.com/ [EMAIL PROTECTED]
"Liberty is the great parent of science and of virtue; and a nation will
be great in both in proportion as it is free. " T. Jefferson
[ Soyez pr�cis dans vos sujets svp afin de d�terminer directement ]
[ le type de demande... ]
[ Pour vous (d�s)inscrire, aller sur http://unixtech.be/ml.php ]
[ Archives de la mailing list: http://archives.unixtech.be/linux/ ]
[ http://unixtech.be Contact: [EMAIL PROTECTED] ]