Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Optimisation] paramètres de compilation: Attention !!
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
Jean-Francois
Apprentice
Apprentice


Joined: 24 Sep 2002
Posts: 191
Location: Grenoble

PostPosted: Wed Aug 20, 2003 10:17 am    Post subject: [Optimisation] paramètres de compilation: Attention !! Reply with quote

Salut,

suite à la lecture de ce site,
http://home.comcast.net/~jcunningham63/linux/GCC_Optimization_poseidon.html
j'ai essayé d'optimiser un peu plus mes paramètres de cmpilation pour mon P4 2GHz. J'ai juste ajouté les 2 dernières options à mes paramètres habituels.
CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer -ffast-math -malign-double

Bilan après quelques jours d'utilisation et un ou deux updates par ci par là, j'ai commencé à avoir des soucis avec quelques applis (evolution se plaignait d'une librairie bonobo notamment). Je les ai recompilé, puis là c'est carrément tout gnome qui est parti en vrille.
Le panel faisait des erreurs de segmentation à tout bout de champ, comme la plupart des applis gnome.
Plus je recompilait les applis plus j'avais des problèmes. D'ailleurs certains composants de gnome ont fini par ne plus se compiler.
Du coup j'ai enlevé ces 2 derniers paramètres, et petit à petit j'ai recompilé toutes les applis que je venais de compiler.
La compilation est allé à terme sans problème à chaque fois (enfin presuqe j'ai pas encore tout à fait finit tout, mais ca va clairement bien mieux).

J'espère que celà suffira à résoudre tout mes problèmes, mais en tout cas le bilan pour moi c'est que l'optimisation des flags de compilation, non merci.
Soyez prudent ![/url]
_________________
Jean-Francois
http://bdml.free.fr
BdmL : Astronomie - Jeux de Societe - Linux - Photos
Back to top
View user's profile Send private message
xr31Daisy
Guru
Guru


Joined: 19 Jul 2002
Posts: 326
Location: Paris, France

PostPosted: Wed Aug 20, 2003 11:50 am    Post subject: Reply with quote

L'auteur avait pourtant mis un warning à propos de -malign-double dans sa page sur les flags, comme quoi c'était un truc à risque.

Il propose d'ailleurs 3 réglages, par ordre de risque ( et d'optimisation ) croissants :
Code:
-march=pentium4 -O3 -msse2 -mfpmath=sse,387 -mmmx
-march=pentium4 -O3 -ffast-math -mfpmath=sse,387 -mmmx
-march=pentium4 -O3 -ffast-math -malign-double -msse2 -mmmx

J'ai utilisé la 2ème ligne, n'ayant pas tellement confiance dans -malign-double. Et je n'ai aucun problème. ( mais je n'ai pas essayé de mesurer les améliorations de vitesse par moi-même. )
_________________
#include "pictures.h"
Back to top
View user's profile Send private message
Senso
Apprentice
Apprentice


Joined: 17 Jun 2003
Posts: 250
Location: Montreal, Quebec

PostPosted: Wed Aug 20, 2003 2:06 pm    Post subject: Reply with quote

Pourtant, je trouve que
Code:
CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer
est déjà pas mal optimisé comme ça... Perso, j'ajoute -funroll-loops mais c'est pas toujours nécéssaire.
Back to top
View user's profile Send private message
Leander256
l33t
l33t


Joined: 05 Jul 2003
Posts: 910
Location: Singapour

PostPosted: Wed Aug 20, 2003 2:26 pm    Post subject: Reply with quote

Ceci a déjà été discuté dans plusieurs threads en anglais mais je ne les retrouve pas, et de toute façon ça ne peut pas faire de mal de le répéter:

Quand vous ajoutez l'option -march=xxx, gcc va automatiquement rajouter le support de mmx, 3dnow, sse et sse2 (ceux supportés par le processeur uniquement). La preuve par l'exemple, je vais compiler un programme révolutionnaire.

Sans optimisation:
Code:
prog@glorfindel prog $ gcc -v helloworld.c -o test
 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/cc1 -lang-c -v -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=3 -D__GXX_ABI_VERSION=102 -D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -D__ELF__ -D__unix__ -D__gnu_linux__ -D__linux__ -D__unix -D__linux -Asystem=posix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i686__ -D__tune_pentiumpro__ helloworld.c -quiet -dumpbase helloworld.c -version -o /tmp/cc37aGjE.s


Avec optimisation:
Code:
prog@glorfindel prog $ gcc -v -march=athlon-xp helloworld.c -o test
 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/cc1 -lang-c -v -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=3 -D__GXX_ABI_VERSION=102 -D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -D__ELF__ -D__unix__ -D__gnu_linux__ -D__linux__ -D__unix -D__linux -Asystem=posix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__athlon -D__athlon__ -D__athlon_sse__ -D__tune_athlon__ -D__tune_athlon_sse__ -D__SSE__ -D__MMX__ -D__3dNOW__ -D__3dNOW_A__ helloworld.c -quiet -dumpbase helloworld.c -march=athlon-xp -version -o /tmp/ccr7Cvmg.s


Bien sûr ce n'est pas pénalisant, mais toujours bon à savoir si vous pensez désactiver le support de mmx en enlevant -mmmx alors que vous gardez -march.

[EDIT] juste pour préciser que ce sont des extraits de l'affichage produit, il y a quelques lignes en plus normalement
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum