montrez vos cflags sous gentoo !! - Divers - Linux et OS Alternatifs
Marsh Posté le 09-03-2004 à 18:18:29
CFLAGS="-O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe"
Intel P4 HT 3GHz
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
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
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 ?
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 ...
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
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
Marsh Posté le 09-03-2004 à 20:27:12
Moi c minimaliste :
-march=athlon-xp -Os -pipe -fomit-frame-pointer |
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
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
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.
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.
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
Marsh Posté le 09-03-2004 à 23:22:55
essayer -ftracer et -fssa
tracer marchera toujours, le ssa peut echouer
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.
Marsh Posté le 09-03-2004 à 23:54:33
ben lis le man, les 3/4 de tes flags sont inclus lors de O2
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 ?
Marsh Posté le 10-03-2004 à 00:37:00
pour l'instant :
mathieu@perchut2 mathieu $ less /etc/make.conf | grep CFLAGS |
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.
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" |
Marsh Posté le 10-03-2004 à 07:21:41
|
c'est long
mais ça tourne toujours bien
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
Marsh Posté le 10-03-2004 à 10:53:58
ycarus a écrit : Moi c minimaliste :
|
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.
Marsh Posté le 10-03-2004 à 13:49:11
CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer" |
Marsh Posté le 10-03-2004 à 18:16:37
ReplyMarsh Posté le 10-03-2004 à 18:19:56
sorg a écrit : |
ahah, faut juste rajouter le -march qui va bien, le reste est imperceptible
Marsh Posté le 10-03-2004 à 18:23:52
sorg a écrit : |
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.
@++
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.
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)
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 ...
Marsh Posté le 10-03-2004 à 19:13:24
Taz a écrit : -pipe n'influt pas sur le code généré |
-pipe influe sur la vitesse de compilation, Quand on à de la RAM dispo, ca evite les I/O disque
Marsh Posté le 10-03-2004 à 19:15:26
sorg a écrit : |
je sai
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
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 ?
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...
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
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