OVH Cloud OVH Cloud

Re: [gentoo-user-fr] Optimisation

4 réponses
Avatar
Bernard Stephan
------_=_NextPart_001_01C51F37.0B1C6600
Content-Type: text/plain;
charset="ISO-8859-15"
Content-Transfer-Encoding: quoted-printable

Bernard Stephan wrote:

> > j'ai une question
> > extr=EAmement basique =E0 ce sujet: si je change les CFLAGS de =
make.conf et
> > que je ne fait rien d'autre, il n'y a aucun danger ? (c'est =E0 =
dire que
> > =E7a n'a aucun effet n=E9gatif, et que mon syst=E8me se remettra =
petit =E0=20
> petit
> > =E0 jour)
> >
> Aucun danger =E0 ma connaissance, si ce n'est quelques erreurs de
> compilations pour des valeurs trop agressives.
>
Apr=E8s r=E9flexion : garde quand m=EAme des valeurs pour march et mcpu =

compatibles avec ta machine !

--=20
St=E9phan

------_=_NextPart_001_01C51F37.0B1C6600
Content-Type: text/html;
charset="ISO-8859-15"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3DISO-8859-15">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
5.5.2653.12">
<TITLE>Re: [gentoo-user-fr] Optimisation</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=3D2>Bernard Stephan wrote:</FONT>
</P>

<P><FONT SIZE=3D2>&gt; &gt; j'ai une question</FONT>
<BR><FONT SIZE=3D2>&gt; &gt; extr=EAmement basique =E0 ce sujet: si je =
change les CFLAGS de make.conf et</FONT>
<BR><FONT SIZE=3D2>&gt; &gt; que je ne fait rien d'autre, il n'y a =
aucun danger ? (c'est =E0 dire que</FONT>
<BR><FONT SIZE=3D2>&gt; &gt; =E7a n'a aucun effet n=E9gatif, et que mon =
syst=E8me se remettra petit =E0 </FONT>
<BR><FONT SIZE=3D2>&gt; petit</FONT>
<BR><FONT SIZE=3D2>&gt; &gt; =E0 jour)</FONT>
<BR><FONT SIZE=3D2>&gt; &gt;</FONT>
<BR><FONT SIZE=3D2>&gt; Aucun danger =E0 ma connaissance, si ce n'est =
quelques erreurs de</FONT>
<BR><FONT SIZE=3D2>&gt; compilations pour des valeurs trop =
agressives.</FONT>
<BR><FONT SIZE=3D2>&gt;</FONT>
<BR><FONT SIZE=3D2>Apr=E8s r=E9flexion : garde quand m=EAme des valeurs =
pour march et mcpu </FONT>
<BR><FONT SIZE=3D2>compatibles avec ta machine !</FONT>
</P>

<P><FONT SIZE=3D2>-- </FONT>
<BR><FONT SIZE=3D2>St=E9phan</FONT>
</P>

</BODY>
</HTML>
------_=_NextPart_001_01C51F37.0B1C6600--

4 réponses

Avatar
Michel Paquet
Suite à mes expériences infructueuse de ma modification du USE dont
j'avais ajouté pas loin de 50 bébelle (retrai de plusieurs dont -voodoo,
-gtk- gtk2, -3dnow, etc, ainsi qu'à l'ajout de d'autre concernant
divx4linux, opengl, et je ne me souvien plus lequels.), ma Gentoo s'est
plutôt mal porté depuis cette optimisation. Xine étant plus planteu que
jamais (aucun moyen d'avoir un fullscreen, freeze, et j'en passe) et une
latence incroyable (pire qu'avant) dans plusieur programme, je suis donc
revenu à mon bon vieux USE qui ma si fidèlement servi jusqu'ici depuis
les débuts. J'ai parcontre, modifier mon CFLAGS selon les dires de la
liste (passé de -O3 à -O2, -Os non testé). La compilation est aussi
longue et après 3 jours de compilation intensif, les programmes reste
toujours aussi long à ouvrir à comparé de Debian, SuSE et Mandrake.
J'aimerais réelement connaitre le "pourquoi du comment". Au dire de
certain, on devrais compiler chaque paquette individuellement avec des
USE et des CFLAGS différent afin d'obtenir une optimisation parfaite.

Je me considère comme étant intermédière-avancé en matière de linux,
ayan testé moi-même plusieur distribution différente, servant de
bêta-tester à plusieur projet (autan sur Windows que sur Linux) et étant
administrateur de serveur monté sous Debian, parfait pour les serveur et
lequel s'avère être la plus stable que j'ai testé malgré la "viellesse "
de ses paquetage, j'ai toujours du mal à comprendre le fonctionnement de
la compilation, les optimisations et tout ce que cela englobe. N'y a
t-il aucun moyen de connaitre les optimisations utilisé d'une
distribution quelconque (Debian, SuSE, Mandrake ou encore RedHeurk **dsl
pour les amoureux de RedHat mais les RPM me donne mal au coeur vu leurs
gestion que je considère mal organisé**) et les mettre dans Gentoo???
Les dévelopeur se base sur quoi pour aprouvé tel ou tel optimisation??
Ils doivent surement avoir des machines hors du commun (le genre
méga-ordinateur qui mesure des mêtre et des mêtre de long avec 36
million de processeur, des tonne de tera-octes en mémoire et des méga
système RAID monté en rack-mount) lors de leurs testes. Ils doivent
pouvoirs compiler OpenOffice en moin de 3 minute alors que sur ma
bécanne, ca prend 2 jours sans éxagération. Il est normal que dans ces
cas là, une optimisation sois "mieux" qu'un autre non? ...

En tout cas, le chapitre de l'optimisation (si réel elle est) de Gentoo
devrais avoir son propre HOWTO dans les docs de Gentoo et être très,
TRÈS documenté selon les types de processeur, chipset et matériel
utilisé. Je me propose même pour ce type de projet, ayant quelques
machine en trop à des fin de teste pour la classe des Pentium 3 et
Pentium 2 (AMD Athlon/Duron, K6, K6-2 inclut).

Michel Paquet
Québec, CA

Bernard Stephan a écrit :

Bernard Stephan wrote:

> > j'ai une question
> > extrêmement basique à ce sujet: si je change les CFLAGS de
make.conf et
> > que je ne fait rien d'autre, il n'y a aucun danger ? (c'est à dire
que
> > ça n'a aucun effet négatif, et que mon système se remettra petit à
> petit
> > à jour)
> >
> Aucun danger à ma connaissance, si ce n'est quelques erreurs de
> compilations pour des valeurs trop agressives.
>
Après réflexion : garde quand même des valeurs pour march et mcpu
compatibles avec ta machine !

--
Stéphan





--
mailing list
Avatar
Yoann Pannier
Michel Paquet wrote:
Suite à mes expériences infructueuse de ma modification du USE dont
j'avais ajouté pas loin de 50 bébelle (retrai de plusieurs dont -voodoo,
-gtk- gtk2, -3dnow, etc, ainsi qu'à l'ajout de d'autre concernant
divx4linux, opengl, et je ne me souvien plus lequels.), ma Gentoo s'est
plutôt mal porté depuis cette optimisation. Xine étant plus planteu que
jamais (aucun moyen d'avoir un fullscreen, freeze, et j'en passe) et une
latence incroyable (pire qu'avant) dans plusieur programme, je suis donc
revenu à mon bon vieux USE qui ma si fidèlement servi jusqu'ici depuis
les débuts. J'ai parcontre, modifier mon CFLAGS selon les dires de la
liste (passé de -O3 à -O2, -Os non testé). La compilation est aussi
longue et après 3 jours de compilation intensif, les programmes reste
toujours aussi long à ouvrir à comparé de Debian, SuSE et Mandrake.
J'aimerais réelement connaitre le "pourquoi du comment". Au dire de
certain, on devrais compiler chaque paquette individuellement avec des
USE et des CFLAGS différent afin d'obtenir une optimisation parfaite.



La compilation de tout le système en O2 a probablement été moins longue
qu'en O3, parce que le compilateur a dans ce cas un peu moins de chose a
faire. C'est un fait documenté dans gcc, pour autant que je sache. (Mais
oui, c'est long quand même).

Les CFLAGS du make.conf ne sont qu'une base, beaucoup d'ebuilds les
modifient en en ajoutant/retirant certains (mplayer, mozilla, openoffice
et un tas d'autres). Le fait de pouvoir spécifier -march ici est
l'avantage principal (compiler la gentoo pour un p4 plutot que pour un
i586 dans une distribution binaire, par exemple).

L'optimisation est un art, et les CFLAGS n'en sont qu'une partie.
L'optimisation des dépendances, via les USEs, est très importante.
pouvoir les modifier est à mon sens l'avantage majeur de gentoo (au
niveau optimisation).

Pour s'en convaincre, il suffit de compiler vim d'abord avec tous les
bindings perl, ruby, python... et ensuite sans, et de regarder le temps
qu'il lui faut pour se charger la première fois après un boot. Les yeux
suffiront pour mesurer la différence, une différence obtenable sans
avoir besoin de toucher aux CFLAGS.

Les CFLAGS eux, ne deviennent vraiment important que pour des programmes
qui font des calculs, comme mplayer et autres choses graphiquement
intensifs par exemple. Mais la plupart du temps, les ebuilds (ou les
makefiles) des paquets concernés gèrent ces CFLAGS au mieux (on espère).

C'est d'ailleurs pour cela que les CFLAGS, au contraire des USEs, ne
sont pas spécifiable paquet par paquet (/etc/portage/package.use). Les
CFLAGS particuliers sont sensés être gérés par les ebuilds eux-même, les
USEs par toi, en fonction des tes besoins. (cela dit j'ai déjà vu des
discussions sur un package.cflags, mais je ne sais pas ce qu'il en est,
à part que ce n'est pas pour tout de suite).

L'optimisation des USEs ne se fait pas dans le make.conf (sauf pour
certains USE comme acl ou ipv6 j'imagine), mais dans package.use, paquet
par paquet. Exemple : le USE générique tcpd doit être désactivé pour
syslog-ng si tu n'a pas l'intention de gérer tes logs via réseau.

Bref tout ça pour dire qu'a mon avis, "optimiser" une gentoo, c'est :
1) choisir les CFLAGS de base (make.conf) s'y tenir et ne plus en parler
2) choisir les USEs paquet par paquet, y faire attention a chaque MAJ
3) éventuellement utiliser des choses comme prelink (moi je m'en passe).

Si tu fais ça, tu obtiendra un système adapté à tes besoins (ie
"optimisé"), sans tout un tas de fioritures dont tu n'a pas l'utilité.
Et tu pourra alors, si tu en a le temps et l'envie, regarder de plus
près comment sont compilés les paquets. Mais une chose est certaine pour
moi, optimiser les CFLAGS (en global ou en paquet/paquet) est une perte
de temps si les USEs ne le sont pas.

Evidemment, tout cela n'a aucun sens si la machine est handicapée dès le
départ par un mauvais noyau ou de mauvais paramètres hdparm, etc. voir
une simple mauvaise configuration (DNS, 3D...).

Conclusion subsidiaire, ne pas gérer les USEs revient en gros a faire de
de gentoo une distribution binaire (sauf que c'est toi qui la compile),
et une mauvaise je pense, vu que tu n'a pas les resources pour la faire
au mieux.

Mmmmm voilà, j'dis ça j'dis rien...

--
Yoann Pannier

--
mailing list
Avatar
grillot sebastien
Bonjour à vous tous.
Je commencerais simplement par vous dire merci. En effet ce fil de
discussion est tres interressant j'apprends beaucoup de chose !
Une question se pose à moi à la lecture du poste de Yoann. Comment
savoir quel use utiliser pour chaque paquet ? Ma question dois
paraitre stupide mais je me rends compte que j'ignore totalement ce
qui existe et encore plus que mettre pour quel paquage ....


On Thu, 03 Mar 2005 09:44:23 +0100, Yoann Pannier
wrote:
Michel Paquet wrote:
> Suite à mes expériences infructueuse de ma modification du USE dont
> j'avais ajouté pas loin de 50 bébelle (retrai de plusieurs dont -vo odoo,
> -gtk- gtk2, -3dnow, etc, ainsi qu'à l'ajout de d'autre concernant
> divx4linux, opengl, et je ne me souvien plus lequels.), ma Gentoo s'est
> plutôt mal porté depuis cette optimisation. Xine étant plus plant eu que
> jamais (aucun moyen d'avoir un fullscreen, freeze, et j'en passe) et un e
> latence incroyable (pire qu'avant) dans plusieur programme, je suis don c
> revenu à mon bon vieux USE qui ma si fidèlement servi jusqu'ici dep uis
> les débuts. J'ai parcontre, modifier mon CFLAGS selon les dires de la
> liste (passé de -O3 à -O2, -Os non testé). La compilation est aus si
> longue et après 3 jours de compilation intensif, les programmes reste
> toujours aussi long à ouvrir à comparé de Debian, SuSE et Mandrak e.
> J'aimerais réelement connaitre le "pourquoi du comment". Au dire de
> certain, on devrais compiler chaque paquette individuellement avec des
> USE et des CFLAGS différent afin d'obtenir une optimisation parfaite.

La compilation de tout le système en O2 a probablement été moins lo ngue
qu'en O3, parce que le compilateur a dans ce cas un peu moins de chose a
faire. C'est un fait documenté dans gcc, pour autant que je sache. (Mai s
oui, c'est long quand même).

Les CFLAGS du make.conf ne sont qu'une base, beaucoup d'ebuilds les
modifient en en ajoutant/retirant certains (mplayer, mozilla, openoffice
et un tas d'autres). Le fait de pouvoir spécifier -march ici est
l'avantage principal (compiler la gentoo pour un p4 plutot que pour un
i586 dans une distribution binaire, par exemple).

L'optimisation est un art, et les CFLAGS n'en sont qu'une partie.
L'optimisation des dépendances, via les USEs, est très importante.
pouvoir les modifier est à mon sens l'avantage majeur de gentoo (au
niveau optimisation).

Pour s'en convaincre, il suffit de compiler vim d'abord avec tous les
bindings perl, ruby, python... et ensuite sans, et de regarder le temps
qu'il lui faut pour se charger la première fois après un boot. Les ye ux
suffiront pour mesurer la différence, une différence obtenable sans
avoir besoin de toucher aux CFLAGS.

Les CFLAGS eux, ne deviennent vraiment important que pour des programmes
qui font des calculs, comme mplayer et autres choses graphiquement
intensifs par exemple. Mais la plupart du temps, les ebuilds (ou les
makefiles) des paquets concernés gèrent ces CFLAGS au mieux (on esp ère).

C'est d'ailleurs pour cela que les CFLAGS, au contraire des USEs, ne
sont pas spécifiable paquet par paquet (/etc/portage/package.use). Les
CFLAGS particuliers sont sensés être gérés par les ebuilds eux-m ême, les
USEs par toi, en fonction des tes besoins. (cela dit j'ai déjà vu des
discussions sur un package.cflags, mais je ne sais pas ce qu'il en est,
à part que ce n'est pas pour tout de suite).

L'optimisation des USEs ne se fait pas dans le make.conf (sauf pour
certains USE comme acl ou ipv6 j'imagine), mais dans package.use, paquet
par paquet. Exemple : le USE générique tcpd doit être désactivé pour
syslog-ng si tu n'a pas l'intention de gérer tes logs via réseau.

Bref tout ça pour dire qu'a mon avis, "optimiser" une gentoo, c'est :
1) choisir les CFLAGS de base (make.conf) s'y tenir et ne plus en parler
2) choisir les USEs paquet par paquet, y faire attention a chaque MAJ
3) éventuellement utiliser des choses comme prelink (moi je m'en passe) .

Si tu fais ça, tu obtiendra un système adapté à tes besoins (ie
"optimisé"), sans tout un tas de fioritures dont tu n'a pas l'utilité .
Et tu pourra alors, si tu en a le temps et l'envie, regarder de plus
près comment sont compilés les paquets. Mais une chose est certaine p our
moi, optimiser les CFLAGS (en global ou en paquet/paquet) est une perte
de temps si les USEs ne le sont pas.

Evidemment, tout cela n'a aucun sens si la machine est handicapée dès le
départ par un mauvais noyau ou de mauvais paramètres hdparm, etc. voi r
une simple mauvaise configuration (DNS, 3D...).

Conclusion subsidiaire, ne pas gérer les USEs revient en gros a faire d e
de gentoo une distribution binaire (sauf que c'est toi qui la compile),
et une mauvaise je pense, vu que tu n'a pas les resources pour la faire
au mieux.

Mmmmm voilà, j'dis ça j'dis rien...

--
Yoann Pannier

--
mailing list





--
mailing list
Avatar
Yoann Pannier
grillot sebastien wrote:
Comment
savoir quel use utiliser pour chaque paquet ?



une combinaison d'"emerge --pretend --verbose" et de "euse --info"
devrait être un bon début pour décider.

--
Yoann Pannier

--
mailing list