montrez vos cflags sous gentoo !!

montrez vos cflags sous gentoo !! - Divers - Linux et OS Alternatifs

Marsh Posté le 09-03-2004 à 18:16:07    

CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer -mfpmath=sse -funroll-loops"


 
model name : Intel(R) XEON(TM) CPU 1.80GHz
cache size : 512 KB
cpu MHz    : 1780.242
 
 


Message édité par Profil supprimé le 13-03-2004 à 18:29:23
Reply

Marsh Posté le 09-03-2004 à 18:16:07   

Reply

Marsh Posté le 09-03-2004 à 18:18:29    

CFLAGS="-O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe"
 
Intel P4 HT 3GHz


---------------
"Deux chose sont infinies, l'univers et la sotise humaine. Mais je ne suis pas sûr de ce j'affirme quant à l'univers." Albert Einstein
Reply

Marsh Posté le 09-03-2004 à 18:38:18    

lisez le man juste pour voir, vous allez voir comment vos bordel vont diminuez ... par contre -ftracer et -fssa personne connait

Reply

Marsh Posté le 09-03-2004 à 18:48:53    

Taz a écrit :

lisez le man juste pour voir, vous allez voir comment vos bordel vont diminuez ... par contre -ftracer et -fssa personne connait


 
non connait pas, mais justement j' attendais de bons conseils  :jap:  
j' ai vu ça aussi sur qqu qui avait la meme config que moi à peu près

-finline-functions


tu peux expliquer ? j' ai pas tout a fait saisi.. c' est utilisable sans que ca me foutte tout en l' air ?
 

Reply

Marsh Posté le 09-03-2004 à 18:50:18    

 -funroll‐loops
           Unroll loops whose number of iterations can be determined at compile time or upon entry to the loop.  -funroll‐loops implies both
           -fstrength‐reduce and -frerun‐cse‐after‐loop.  This option makes code larger, and may or may not make it run faster.
 
       -funroll‐all‐loops
           Unroll all loops, even if their number of iterations is uncertain when the loop is entered.  This usually makes programs run more
           slowly.  -funroll‐all‐loops implies the same options as -funroll‐loops,
 
 
tiré de man gcc je suis pas sur que ce soit une bonne idée ...

Reply

Marsh Posté le 09-03-2004 à 18:54:12    

CFLAGS="-march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3 -pipe -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays"


 
J'ai recupere ca sur je sais plus trop quel site

Reply

Marsh Posté le 09-03-2004 à 19:26:37    

vous pouvez pas regarder la définition de toutes vos options, -O2 définit quasiment toutes les brouitlles que vour rajouter

Reply

Marsh Posté le 09-03-2004 à 20:27:12    

Moi c minimaliste :

-march=athlon-xp -Os -pipe -fomit-frame-pointer


Reply

Marsh Posté le 09-03-2004 à 20:28:19    

cai bien ça, pourquoi s ? t'es serré ?

Reply

Marsh Posté le 09-03-2004 à 20:52:23    

pas trop  ;)  mais le s c pas mal çà évite aux programmes de prendre de la place sur le disque et en mémoire sans amputer réellement sur les performances où le O3 s'en sort que rarement mieux :jap:
C'est donc un bon compromis se situant entre le O2 et O3, le O3 n'est pas toujours l'idéal pour toutes les applications de même que le O2, là je suis entre.
Enfin les CFLAGS c'est une histoire de goûts...
 
Bon va falloir que je vire une vieille partitions qui restait sous ntfs car mon linux commence à être à l'étroit  :sweat:

Reply

Marsh Posté le 09-03-2004 à 20:52:23   

Reply

Marsh Posté le 09-03-2004 à 20:56:38    

non, Os est bien mois rapide que O2, O3 ne fait quasiment rien, son utilité est à voir au cas par cas.

Reply

Marsh Posté le 09-03-2004 à 21:04:11    

vu la liste des discutions sur gentoo.org sur les CFLAGS divers personne n'est d'accord et personne ne le sera jamais... En réalité c'est très dépendant du programme que l'on compile. Il faudrait presque un CFLAG différent associé à chaque ebuild.

Reply

Marsh Posté le 09-03-2004 à 21:14:46    

en réalité suffit de lire man de gcc pour comprendre qu'O2 + march n'ont besoin de rien d'autres

Reply

Marsh Posté le 09-03-2004 à 23:22:29    

CFLAGS="-march=athlon-xp -O3 -pipe"

Reply

Marsh Posté le 09-03-2004 à 23:22:55    

essayer -ftracer et -fssa
 
tracer marchera toujours, le ssa peut echouer

Reply

Marsh Posté le 09-03-2004 à 23:46:58    

Dans les flags que j'ai defini yen a bcp d'unitiles? En fait jai recuperé la ligne sur un site doptimisation, ou cette ligne etait celle dediée a mon architechture, auquel jai fait confiance, mais je n'ai pas cherché a essayer de comprendre toutes les options.

Reply

Marsh Posté le 09-03-2004 à 23:54:33    

ben lis le man, les 3/4 de tes flags sont inclus lors de O2

Reply

Marsh Posté le 10-03-2004 à 00:36:08    

dans ton journal, tu dis que t'as une augmentation de taille avec ftracer... quid des perfs ? t'as des infos ?

Reply

Marsh Posté le 10-03-2004 à 00:37:00    

pour l'instant :  

mathieu@perchut2 mathieu $ less /etc/make.conf | grep CFLAGS
# For optimal performance, enable a CFLAGS setting appropriate for your CPU.
#CFLAGS="-mcpu=athlon-xp -O3 -pipe"
CFLAGS="-march=pentium4 -O3 -pipe"
# If you set a CFLAGS above, then this line will set your default C++ flags to
# the same settings. If you don't set CFLAGS above, then comment this line out.
CXXFLAGS="${CFLAGS}"

Reply

Marsh Posté le 10-03-2004 à 00:42:40    

Perchut2 a écrit :

dans ton journal, tu dis que t'as une augmentation de taille avec ftracer... quid des perfs ? t'as des infos ?

ben j'ai rien mesurer ... seulement c'est là ... ftracer permet à l'optimiseur de mieux faire son travail (et pas de rajouter des optimisations) ... taille du binaire à l'appui, y a bien une différence.

Reply

Marsh Posté le 10-03-2004 à 04:54:37    

-march=pentium4 n'est plus cassé ? Parce que jusque là j'utilisais :

CFLAGS="-march=pentium3 -mcpu=pentium4 -O2 -pipe -fomit-frame-pointer"


Message édité par matafan le 10-03-2004 à 04:55:20
Reply

Marsh Posté le 10-03-2004 à 07:21:41    


CFLAGS="-O3 -fomit-frame-pointer -funroll-loops -pipe -march=athlon-xp -mcpu=athlon-xp -ffast-math -fno-strength-reduce -finline-limit=2000 -fprefetch-loop-arrays -falign-functions=32"


 
c'est long :sweat:
mais ça tourne toujours bien :)


Message édité par BMOTheKiller le 10-03-2004 à 07:22:50
Reply

Marsh Posté le 10-03-2004 à 10:29:13    

-funroll-loops -> bof
 
-mcpu=athlon-xp -> inclus dans march
 
 
-ffast-math -> dangereux
 
 
-fno-strength-reduce -finline-limit=2000 > pourquoi ?
 
-fprefetch-loop-arrays > ok
 
 
-falign-functions=32 -> ça fait beaucoup tout ça
 
 
 
le truc que j'aimerais bien voir fonctionner, c'est ce lui là
 
-maccumulate-outgoing-args
 
 
j'ai fait quelques tests avec es petis programmes, l'assembleur était le même
 
 
sinon, lisez le man 95% des options sont incluses dans O?, y en a que quelques unes qui ne le sont pas et qui sont des optimisations sures et efficaces -fprefetch-loop-arrays et -ftracer
 

Reply

Marsh Posté le 10-03-2004 à 10:53:58    

ycarus a écrit :

Moi c minimaliste :

-march=athlon-xp -Os -pipe -fomit-frame-pointer


 


 
C'est pas minimaliste, c'est très bien: j'utilise les mêmes...
 
Quelques remarques en vrac sur ce que j'ai pu voir posté ici:
Quand on met: march=athlon-xp , il n'est pas nécessaire de rajouter mmmx , msse , m3dnow ... etc... c'est inclu d'office.
 
Pour ce qui est du 01, 02, 03 , 0S , c'est un sujet à troll, mais pour ma part j'ai choisi Os car:
-la compilation est + rapide:
-Sur les grosses applis (OOo, Firefox...) Le goulet d'etranglement c'est le temps de chargement en mémoire qui est directement lié à la taille de l'executable. Et ca fait une réelle différence sur le temps de démarrage de l'application.
 
Sinon, effectivement comme ca a dejà été dis, quand On met 0x , il faut regarder ce qui est dejà inclut dedans, car le but de ces raccourcis, cest justement d'eviter les listes de flags à ralonge.

Reply

Marsh Posté le 10-03-2004 à 13:49:11    

CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"


---------------
Fluctuat nec mergitur
Reply

Marsh Posté le 10-03-2004 à 15:29:48    

CFLAGS="-O2"


 

Reply

Marsh Posté le 10-03-2004 à 18:16:37    

Evadream -jbd- a écrit :

CFLAGS="-O2"


 
 


toi, tu es minimaliste...
A ce stade autant prendre un debian.

Reply

Marsh Posté le 10-03-2004 à 18:19:56    

sorg a écrit :


toi, tu es minimaliste...
A ce stade autant prendre un debian.
 

ahah, faut juste rajouter le -march qui va bien, le reste est imperceptible

Reply

Marsh Posté le 10-03-2004 à 18:23:52    

sorg a écrit :


toi, tu es minimaliste...
A ce stade autant prendre un debian.


 
Mon avis est que l'intérêt de la gentoo ne réside aucunement dans les CFLAGS de compilation. D'ailleurs ma debian est plus réactive sur bien des points, flags de "bourrin" ou non sur ma gentoo.
 
@++

Reply

Marsh Posté le 10-03-2004 à 18:24:50    

pareil : l'avantage c'est pouvoir compiler des trucs comme apache ou autre avec les composants que l'on veut.

Reply

Marsh Posté le 10-03-2004 à 19:10:21    

Ouep je bien d'accord, les USE, c de la bombe... mais bon quitte à compiler , autant mettre au moins un mcpu. et puis -pipe aussi... ensuite c'est O1, 02, ou 0s suivant les gouts (Par contre clairement 03, a part pour les applications de pur calcul, c'est de la merde en boite)

Reply

Marsh Posté le 10-03-2004 à 19:11:27    

-pipe n'influt pas sur le code généré
 
les trucs débian sont compilé en mcpu=i686 -2 je crois ... donc ...

Reply

Marsh Posté le 10-03-2004 à 19:13:24    

Taz a écrit :

-pipe n'influt pas sur le code généré
 
les trucs débian sont compilé en mcpu=i686 -2 je crois ... donc ...


 
-pipe influe sur la vitesse de compilation, Quand on à de la RAM dispo, ca evite les I/O disque

Reply

Marsh Posté le 10-03-2004 à 19:15:26    

sorg a écrit :


 
-pipe influe sur la vitesse de compilation, Quand on à de la RAM dispo, ca evite les I/O disque

je sai :o

Reply

Marsh Posté le 10-03-2004 à 19:23:45    

sorg a écrit :

Ouep je bien d'accord, les USE, c de la bombe... mais bon quitte à compiler , autant mettre au moins un mcpu. et puis -pipe aussi... ensuite c'est O1, 02, ou 0s suivant les gouts (Par contre clairement 03, a part pour les applications de pur calcul, c'est de la merde en boite)


 
mathieu@perchut2 mathieu $ less /etc/make.conf | grep USE
# The USE variable is used to enable optional build-time functionality. For
# very extensive set of USE variables described in our USE variable HOWTO at
USE="X gtk2 gnome alsa truetype png breakme directfb dvd -kde"
#     that causes portage to enable full settings and USE flags in SRC_URI and
 
 [:perchut2]

Reply

Marsh Posté le 11-03-2004 à 01:41:55    

Je repose ma question qui est passée inaperçue : est-ce que -march=pentium4 est de nouveau sûr ?

Reply

Marsh Posté le 11-03-2004 à 01:43:26    

il l'était pas ?

Reply

Marsh Posté le 11-03-2004 à 02:03:45    

Non ça générait du mauvais code sse2. Par exemple si tu compilait python avec, ensuite il faisait mal les additions...

Reply

Marsh Posté le 11-03-2004 à 07:07:53    

résolu dans je ne sais plus quelle version de gcc

Reply

Marsh Posté le 11-03-2004 à 08:13:08    

tiens le 2.4 veut du -mregparm=3
 
par contre je sais pas si ça fout pas en l'air les drivers nvidia :/ comme le dit l'aide

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed