OVH Cloud OVH Cloud

Gentoo Linux

20 réponses
Avatar
Palmic
Bonjour tout le monde!
J'envisage, après 3 ans de Mandrake, d'essayer de passer à Gentoo.
C'est pour une utilisation Desktop classique, et mon problème c'est
qu'il y plein de choses installés dans la Mandrake dont je ne me sers
jamais, et plein de choses dont j'ai vraiment besoin qui ne sont pas
disponibles sur les CD....
J'ai assez l'habitude d'installer en compilant les sources, le principe
de Gentoo ne me dérange pas.
Je me demande simplement si ça vaut vraiment d'installer Gentoo à partir
du Stage1 (tout compiler) ?? Remarque t'on vraiment une hausse
sensible des performances ??
J'ai un AthlonXP 1800+, 512 de Ram et adsl 512, j'attends vos remarques
et conseils sur Gentoo, ou même une autre distrib que l'on peut mettre à
jour facilement...
Merci d'avance!

10 réponses

1 2
Avatar
talon
Sam Hocevar <sam+ wrote:
On Sat, 17 Jan 2004 17:47:55 +0100, Tiscali wrote:

Et concretement, ça apporte quoi de recompiler les sources à chaque fois
excepté une perte de temps ?


La perte de temps est vite récompensée, les performances sont réellement à
couper le souffle.


La différence est en effet impressionnante, je confirme : lorsque gcc
a fini de tourner, la machine est 10 fois plus rapide.

Le scheduler de Linux est si mauvais que ça?


Sam.


--

Michel TALON



Avatar
Irvin Probst
On 2004-01-17, Michel Talon wrote:

Tu as des preuves de ce que tu avances ?


Je pense qu'il aura du mal à trouver des preuves. Sur des progremmes
SNIP


Une fois n'est pas coutume nous sommes d'accord :)

--
Irvin Probst
There are 10 types of people in the world... those who understand binary
and those who don't.


Avatar
Tiscali
"Irvin Probst" a écrit dans le message de
news:
On 2004-01-17, Tiscali wrote:

Et concretement, ça apporte quoi de recompiler les sources à chaque
fois



excepté une perte de temps ?

La perte de temps est vite récompensée, les performances sont réellement

à


couper le souffle.


Tu as des preuves de ce que tu avances ?


Je pourrais m'amuser à ça, mais le plus simple, ça reste quand même de
l'essayer, tu ne crois pas? :-)

++



Avatar
Tiscali
"Michel Talon" a écrit dans le message de
news:buc0b1$2k7t$
Sam Hocevar <sam+ wrote:
On Sat, 17 Jan 2004 17:47:55 +0100, Tiscali wrote:

Et concretement, ça apporte quoi de recompiler les sources à chaque
fois




excepté une perte de temps ?


La perte de temps est vite récompensée, les performances sont
réellement à



couper le souffle.


La différence est en effet impressionnante, je confirme : lorsque gcc
a fini de tourner, la machine est 10 fois plus rapide.

Le scheduler de Linux est si mauvais que ça?



Ce n'est pas une question de scheduler, c'est simplement que les binaires
compilés pour être distribués utilisent du code machine qui marche à peut
près partout. Si tu compiles un binaire spécifiquement pour ton système,
celui-ci bénéficie des particularités de ton CPU.

Ce n'est pas "d'optimisation" dont il s'agit, mais bien de spécialisation.

++




Avatar
talon
Tiscali wrote:

"Michel Talon" a écrit dans le message de
news:buc0b1$2k7t$
Sam Hocevar <sam+ wrote:
On Sat, 17 Jan 2004 17:47:55 +0100, Tiscali wrote:

Et concretement, ça apporte quoi de recompiler les sources à chaque
fois




excepté une perte de temps ?


La perte de temps est vite récompensée, les performances sont
réellement à



couper le souffle.


La différence est en effet impressionnante, je confirme : lorsque gcc
a fini de tourner, la machine est 10 fois plus rapide.

Le scheduler de Linux est si mauvais que ça?



Ce n'est pas une question de scheduler, c'est simplement que les binaires
compilés pour être distribués utilisent du code machine qui marche à peut
près partout. Si tu compiles un binaire spécifiquement pour ton système,
celui-ci bénéficie des particularités de ton CPU.

Ce n'est pas "d'optimisation" dont il s'agit, mais bien de spécialisation.



Je ne suis pas sur que tu sois absolument en phase avec Sam.

Sinon l'histoire des particularités du CPU, oui je connais, j'ai même
passé pas mal de temps à étudier l'assembleur produit par le compilateur
à différents niveaux d'optimisation et à benchmarker le résultat. Donc
ma conviction, c'est que pour la plupart des programmes, aller au delà
de -O est peu utile avec gcc-2.95. Par contre il est notoire que des
bugs existent avec par exemple -march=P4 jusqu'à des versions trés
récentes du compilo. Donc à toi l'honneur ...



++




--

Michel TALON





Avatar
Irvin Probst
On 2004-01-17, Tiscali wrote:

Tu as des preuves de ce que tu avances ?


Je pourrais m'amuser à ça, mais le plus simple, ça reste quand même de
l'essayer, tu ne crois pas? :-)


Et bien écoute, j'utilise Linux depuis 1996, je fais du C depuis à peu
près la meme époque et je pense pas mal me débrouiller en compilation,
donc pour ce qui est d'essayer j'ai déjà fait rassure toi.
Dois-je préciser que je n'ai jamais remarqué de différence de
performances "à couper le souffle" (sauf dans le cas d'un Makefile mal
fait) ?

--
Irvin Probst
There are 10 types of people in the world... those who understand binary
and those who don't.


Avatar
Tiscali
"Irvin Probst" a écrit dans le message de
news:
On 2004-01-17, Tiscali wrote:

Tu as des preuves de ce que tu avances ?


Je pourrais m'amuser à ça, mais le plus simple, ça reste quand même de
l'essayer, tu ne crois pas? :-)


Et bien écoute, j'utilise Linux depuis 1996, je fais du C depuis à peu
près la meme époque et je pense pas mal me débrouiller en compilation,
donc pour ce qui est d'essayer j'ai déjà fait rassure toi.
Dois-je préciser que je n'ai jamais remarqué de différence de
performances "à couper le souffle" (sauf dans le cas d'un Makefile mal
fait) ?


je parlais de Gentoo pour les performances, pas d'un programme isolé.

++



Avatar
Tiscali
heu, désolé, je ne sais pas trop quoi enlever là dedans...

"Michel Talon" a écrit dans le message de
news:buchik$2r4d$
Tiscali wrote:

"Michel Talon" a écrit dans le message de
news:buc0b1$2k7t$
Sam Hocevar <sam+ wrote:
On Sat, 17 Jan 2004 17:47:55 +0100, Tiscali wrote:

Et concretement, ça apporte quoi de recompiler les sources à
chaque






fois
excepté une perte de temps ?


La perte de temps est vite récompensée, les performances sont
réellement à



couper le souffle.


La différence est en effet impressionnante, je confirme : lorsque
gcc




a fini de tourner, la machine est 10 fois plus rapide.

Le scheduler de Linux est si mauvais que ça?



Ce n'est pas une question de scheduler, c'est simplement que les
binaires


compilés pour être distribués utilisent du code machine qui marche à
peut


près partout. Si tu compiles un binaire spécifiquement pour ton système,
celui-ci bénéficie des particularités de ton CPU.

Ce n'est pas "d'optimisation" dont il s'agit, mais bien de
spécialisation.





Je ne suis pas sur que tu sois absolument en phase avec Sam.

Sinon l'histoire des particularités du CPU, oui je connais, j'ai même
passé pas mal de temps à étudier l'assembleur produit par le compilateur
à différents niveaux d'optimisation et à benchmarker le résultat. Donc
ma conviction, c'est que pour la plupart des programmes, aller au delà
de -O est peu utile avec gcc-2.95. Par contre il est notoire que des
bugs existent avec par exemple -march=P4 jusqu'à des versions trés
récentes du compilo. Donc à toi l'honneur ...



Apparement Sam et moi sommes d'accord au sujet des performances de Gentoo,
maintenant, je reconnais que ça devient compliqué à lire.
Je suis assez d'accord en ce qui concerne l'option -O. Elle est suffisante
et sans risque. Mais ce n'est pas à ça que je pensais, je pensais en fait
aux instructions CPU utilisées par le binaire. Si on compile un soft pour
être compatible i386, on peut être sûr qu'il fonctionnera sur tous les PC,
maintenant si on compile ce même soft pour i686, il exploitera des
instructions CPU plus sophistiquées mais ne marchera que sur des machines
compatibles. A mon avis c'est bien là l'interêt de compiler soit-même les
sources. Et pour ne pas avoir à écrire [HS] dans l'objet, je dirais en
conclusion que c'est un avantage de Gentoo que de combiner simplicité de
prise en main et installation à partir des sources.

++






Avatar
Sam Hocevar
On Sun, 18 Jan 2004 02:15:37 +0100, Tiscali wrote:

Apparement Sam et moi sommes d'accord au sujet des performances de Gentoo,


Non, au contraire. Si j'avais une gentoo, mon CPU passerait son temps
à compiler des packages, ça rendriat ma machine inutilisable.

Je suis assez d'accord en ce qui concerne l'option -O. Elle est suffisante
et sans risque. Mais ce n'est pas à ça que je pensais, je pensais en fait
aux instructions CPU utilisées par le binaire. Si on compile un soft pour
être compatible i386, on peut être sûr qu'il fonctionnera sur tous les PC,
maintenant si on compile ce même soft pour i686, il exploitera des
instructions CPU plus sophistiquées mais ne marchera que sur des machines
compatibles.


Ça dépend de ce que tu appelles « pour i686 ». Tu peux très bien
demander à GCC de générer du code optimisé pour i686 qui fonctionnera
toujours très bien sur n'importe quel i386. C'est juste le pipeline et
l'utilisation des registres qui sera un peu changée.

A mon avis c'est bien là l'interêt de compiler soit-même les
sources.


Croyance populaire. Compiler soi-même les sources ne sert qu'à gâcher
de l'électricité, détruire les forêts et tuer des bébés ours. Il y a des
mécanismes déjà tous faits pour les applications qui ont besoin
d'exploiter au maximum les capacités du CPU, que ce soit sur x86 ou
ailleurs.

Il est bien connu qu'on passe 95% de son temps dans 5% du code, il
n'y a donc que ces 5% qu'il faut factoriser et éventuellement compiler
pour différents types de CPU. Et ça ne veut sûrement pas dire que cette
compilation ne peut pas être faite par le distributeur. Par exemple
quand on compile OpenSSL on peut lui demander de générer des binaires
pour chaque architecture, qui iront se mettre dans /usr/lib/i686 par
exemple. Et -- oh, magie -- le dynamic linker de Linux ira tout seul
chercher la bonne version.

Mais on peut très bien mettre cette fonctionnalité dans le programme
lui-même ; et si MPlayer semble être l'exemple le plus couramment donné
pour justifier cette manie de compiler soi-même ses programmes, c'est
uniquement parce que ses développeurs n'étaient pas foutus de coder un
code de détection de CPU correct.

Sam.
--
Sam Hocevar <http://sam.zoy.org/>

Avatar
Sam Hocevar
On Sun, 18 Jan 2004 02:15:37 +0100, Tiscali wrote:

Apparement Sam et moi sommes d'accord au sujet des performances de Gentoo,


Non, au contraire. Si j'avais une gentoo, mon CPU passerait son temps
à compiler des packages, ça rendriat ma machine inutilisable.

Je suis assez d'accord en ce qui concerne l'option -O. Elle est suffisante
et sans risque. Mais ce n'est pas à ça que je pensais, je pensais en fait
aux instructions CPU utilisées par le binaire. Si on compile un soft pour
être compatible i386, on peut être sûr qu'il fonctionnera sur tous les PC,
maintenant si on compile ce même soft pour i686, il exploitera des
instructions CPU plus sophistiquées mais ne marchera que sur des machines
compatibles.


Ça dépend de ce que tu appelles « pour i686 ». Tu peux très bien
demander à GCC de générer du code optimisé pour i686 qui fonctionnera
toujours très bien sur n'importe quel i386. C'est juste l'utilisation du
pipeline et des registres qui sera un peu changée.

A mon avis c'est bien là l'interêt de compiler soit-même les
sources.


Croyance populaire. Compiler soi-même les sources ne sert qu'à gâcher
de l'électricité, détruire les forêts et tuer des bébés ours. Il y a des
mécanismes déjà tous faits pour les applications qui ont besoin
d'exploiter au maximum les capacités du CPU, que ce soit sur x86 ou
ailleurs.

Il est bien connu qu'on passe 95% de son temps dans 5% du code, il
n'y a donc que ces 5% qu'il faut factoriser et éventuellement compiler
pour différents types de CPU. Et ça ne veut sûrement pas dire que cette
compilation ne peut pas être faite par le distributeur. Par exemple
quand on compile OpenSSL on peut lui demander de générer des binaires
pour chaque architecture, qui iront se mettre dans /usr/lib/i686 par
exemple. Et -- oh, magie -- le dynamic linker de Linux ira tout seul
chercher la bonne version.

Mais on peut très bien mettre cette fonctionnalité dans le programme
lui-même ; et si MPlayer semble être l'exemple le plus couramment donné
pour justifier cette manie de compiler soi-même ses programmes, c'est
uniquement parce que ses développeurs n'étaient pas foutus de coder un
code de détection de CPU correct.

Sam.
--
Sam Hocevar <http://sam.zoy.org/>

1 2