Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Aller à la page:  1 2 Page suivante
Page: 1 sur 2
Utilité de la compilation
Envoyé par: thomas debay

Bonjour et bonne année !

Je voudrais savoir les avantages et les inconvénients de la compilation des applications.
Pour le kernel, c'est un peu différent, je pense que tout le monde sera d'accord pour dire que sa recompilation est conseillée ?

Mais pour les applications, que faire ?

J'ai lu que :

- la compilation optimise les performances.

Question : Est-ce que ca augmente vraiment ou c'est juste un gain de 0.5 secondes sur le boot de KDE qui prend 15 secondes ?

- la compilation prend plus de temps, et génère des fichiers plus gros. C'est un inconvénient.
De plus, comment se passent la désinstallation ou la mise à jour d'une application compilée ? Je suppose que ce n'est pas aussi souple qu'avec les paquets ?


Que faut-il compiler ? Tout ? Juste les grosses applications ? Rien ?

Les distributions du style Gentoo sont elles vraiment plus rapides ? Si c'est le cas, à quel prix ? Au prix de la souplesse d'utilisation des paquets ?

Vous, est-ce que vous préférez compiler ou bien utliser les paquets ?

Merci d'avance,

Poste le Sunday 1 January 2006 13:19:12
Répondre     Citer    
Re: Utilité de la compilation
Envoyé par: tg(y)

Citation
thomas debay
Pour le kernel, c'est un peu différent, je pense
que tout le monde sera d'accord pour dire que sa
recompilation est conseillée ?

Pas forcément, compiler le noyau permet de l'adapter à une machine, mais les noyaux précompilés fonctionnent bien...

Citation
thomas debay
Vous, est-ce que vous préférez compiler ou bien
utliser les paquets ?

Si tu as une distribution précompilée, il faut utiliser les paquets. Sinon, c'est vraiment compliqué, avec tous les problèmes de dépendances. En ce qui me concerne, je compile lorsque je ne trouve pas de paquet Debian.

Si tu veux tout compiler, utilise une distribution source.

Poste le Sunday 1 January 2006 13:26:57
Répondre     Citer    
Re: Utilité de la compilation
Envoyé par: thomas debay

Citation
tg(y)
Si tu veux tout compiler, utilise une distribution source.

Je ne veux pas tout compiler, mais je veux faire ce qui a le meilleur rapport performances / souplesse

Par souplesse, je veux à la fois dire facilité et possibilité d'évolution (désinstallation, mise à jour). Les paquets, par exemple, c'est souple

Poste le Sunday 1 January 2006 13:31:15
Répondre     Citer    
Re: Utilité de la compilation
Envoyé par: AlSim

Citation
thomas debay
Les distributions du style Gentoo sont elles
vraiment plus rapides ? Si c'est le cas, à quel
prix ? Au prix de la souplesse d'utilisation des
paquets ?

Gentoo a un système de paquetages très efficace qui gère les dépendances, etc ...
Une fois la distribution installée, emerge est au moins aussi simple qu'un urpmi ou un apt-get !
Par contre, le prix à payer, c'est le temps d'installation : compte plus de 12 heures pour KDE ...
Quand à savoir si tout compiler fait vraiment gagner en performances, ça dépend fortement de ton PC. En fait le gros avantage c'est que tu peux choisir d'inclure ou non certaines fonctionnalités aux programmes.

[catwell.info]

Poste le Sunday 1 January 2006 15:26:58
Répondre     Citer    
Re: Utilité de la compilation
Envoyé par: thomas debay

Citation
AlSim
Gentoo a un système de paquetages très efficace qui gère les dépendances, etc ...

Ah bon ?

Donc, sur gentoo on peut mettre à jour les logiciels aussi facilement que sous debian (par exemple) ?

Et, au niveau de la difficulté ? Car quand j'essaie de compiler un truc, je n'y arrive (en moyenne) que deux fois sur 3. La fois où ca ne marche pas, soit il manque une dépendance, soit c'est un truc du genre.

Est-ce que c'est mieux géré avec les distribs comme gentoo ?

Sinon, est-ce que quelqu'un aurait des exemples concrets, c'est à dire des chronomètrages, sur le même ordinateur, du temps de lancement de KDE en paquet et de KDE compilé, par exemple ?

Cela me permettrait de me rendre compte si ca vaut le coup de compiler ou pas.

Merci,

Poste le Sunday 1 January 2006 16:11:50
Répondre     Citer    
Re: Utilité de la compilation
Envoyé par: Léa (Fred)

A mon avis:
* on ne compile que si le soft qu'on souhaite utiliser n'est pas disponible en tant que paquet pour sa distribution
* on ne recompile son kernel que si l'on a une bonne raison de le faire ( driver indisponible etc ...)

Pour gentoo et autre sorcerer, la donne est légèrement différente vu que les paquets ce sont des scripts de compilation, mais le principe est le même : on utilise les "ebuilds" de gentoo (ie: l'équivalent des RPM et autres .deb) et on ne recompile à la mano que si aucun ebuilds n'est disponible pour le programme en question.

L'utilisation d'emerge (ie: l'équivalent d'apt-get ou de urpmi) dispense de mettre les mains dans le cambouis de la compilation : tout est transparent et même si les ebuilds sont largement configurable, ils n'offrent pas toutes les options possibles de compilation (et tant mieux : si c'est pour tout gérer à la main, on choisira une LFS plutôt qu'une gentoo).

Mis à part que quand on tape :
emerge kdebase-meta
ça recompile tout kde ainsi que ses dépendances obligatoires (ainsi que certaine facultative si on a choisi de les activer), c'est strictement équivalent à faire :
urpmi kdebase
sur une mandriva. On bénéficie dans les deux cas, d'un paquet testé, dont la compilation a déjà été testé, et dont on sait que la compilation/installation se fera sans douleur (ie: pas besoin de savoir comment se passe une compilation en particulier).

L'intérêt de gentoo n'est pas vraiment dans la recompilation (même si bien sur ça compte) mais dans la trés grand configurabilité des paquets (vue que les paquets sont compilés sur ta machine, ils n'utilisent que les options que tu utilises sur ta machine et pas des options prédéfinies par les concepteurs de ta machine.

Poste le Sunday 1 January 2006 16:29:50
Répondre     Citer    
Re: Utilité de la compilation
Envoyé par: thomas debay

Citation
Léa (Fred)
L'intérêt de gentoo n'est pas vraiment dans la recompilation (même si bien sur ça compte) mais dans la trés grand configurabilité des paquets (vue que les paquets sont compilés sur ta machine, ils n'utilisent que les options que tu utilises sur ta machine et pas des options prédéfinies par les concepteurs de ta machine.
Je pense que les réponses à mes questions sont dans ton post, mais je voudrais m'assurer de bien comprendre le sens exact de ce que tu m'as expliqué. Est-ce que ce que tu voulais dire est bien que :

- Le fait de compiler un programme avec un processeur bien particulier, et avec un compilateur optimisé pour ce processeur n'est pas vraiment l'objectif principal de la compilation ?

- Ca compte, mais ce n'est pas ca qui fait tout l'intérêt ? Ce qui est intéressant, c'est que l'on ne compile que les options dont on a besoin ?

Mais est-ce que ces options sont celles que l'on peut passer à la compilation, à la suite ./configure ?

Ou lorsque l'on compile, certaines options sont automatiquement sélectionnées ?

Par exemple, si je compile MPlayer, est-ce qu'il va automatiquement détecter que j'ai une carte télé, que j'ai video4linux, que j'ai une carte son intégrée mais pas de carte son PCI ?

En gros, est-ce que le fait de compiler optimise (vraiment) l'application pour le matériel automatiquement, ou est-ce que c'est simplement intéressant de compiler pour pouvoir passer des options au ./configure manuellement, et donc activer ou désactiver des fonctions qui seraient inutiles ?

--

Poste le Sunday 1 January 2006 17:06:56
Répondre     Citer    
Re: Utilité de la compilation
Envoyé par: AlSim

Si tu compiles avec la procédure normale (./configure), dans la pluspart des cas, tu devras passer tes options à la main (même si par exemple Mplayer va détecter quels codecs sont installés sur ta machine). Avec les ebuild (système Gentoo) c'est un peu plus automatisé grâce aux drapeaux USE (en gros, des variables d'environnement spéciales qui permettent de passer des options automatiquement).

[catwell.info]

Poste le Sunday 1 January 2006 19:09:29
Répondre     Citer    
Re: Utilité de la compilation
Envoyé par: thomas debay

D'accord, donc, le fait de simplement compiler une application sans passer d'option, juste en faisant
./configure
make
make install
n'optimise que peu l'application pour la machine.

Donc, pas vraiment d'intéret pour la plupart des applications ?
Ca ne vaut pas le coup de se prendre la tête alors que le logiciel est disponible en paquet ?
Car, si l'on a pas gentoo, (moi par exemple je suis sous debian), pour mettre à jour un logiciel qui a été compilé, ce n'est pas possible ?
Il faut bien le désinstaller puis recompiler les nouvelles sources ?

Poste le Sunday 1 January 2006 21:24:48
Répondre     Citer    
Re: Utilité de la compilation
Envoyé par: oudoubah

Le fait de compiler les applis changera peut être quand le userland passera aussi en 64bits sur ce type d'architectures. A mon avis, cela dépendra fortement de l'appli, et donc ce gain, si gain il y a, ne sera visible que pour celles grosses consommatrices de cpu (filtres Gimp, blender, ...)

Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Sunday 1 January 2006 22:43:49
Répondre     Citer    
Re: Utilité de la compilation
Envoyé par: Léa (Fred)

Citation
thomas debay
Le fait de compiler un programme avec un
processeur bien particulier, et avec un
compilateur optimisé pour ce processeur n'est pas
vraiment l'objectif principal de la compilation ?
L'objectif : c'est toi qui le fixe.

Mais ce qui est sur, c'est que si tu ne connais pas l'intérêt des diverses options de compilation, ainsi que leurs effets pervers (en particulier certaines options sensé améliorer la vitesse d'execution augmente la taille du programme et ce faisant l'empêche de tenir dans le cache processeur réduisant de fait la vitesse ...) tu as toutes les chances :
* au mieux de ne pas faire mieux que les concepteurs de paquets (qui passent leur temps à faire des paquets et à choisir des options de compilation)
* au pire à faire planter ton programme en ayant activé une optimisation qui perturbera le fonctionnement du programme.

Moi, j'utilise une gentoo, pas pour passer mon temps à recompiler. Mais parce que je trouve le système des ebuilds trés efficasse et que j'aime le système d'init de gentoo.

En tout cas je passe pas mon temps à choisir les options de compilation, je laisse ça aux concepteurs des ebuilds.

Poste le Monday 2 January 2006 08:24:22
Répondre     Citer    
Re: Utilité de la compilation
Envoyé par: merlin8282

Je pense que là où tu te prendras le moins la tête est dans l'installation d'une distrib optimisée, genre Arch (qui est une Slackware optimisée/compilée pour i686) ou autre. Après, c'est vrai que je ne connais pas les distribs source, donc mon avis n'est pas objectif.

.:! L'être humain est au sommet de la chaîne alimentaire. Certes. Mais il est surtout au sommet de la connerie et de la bêtise... !:.
-- Pour les nouveaux linuxiens : Ce n'est pas en continuant de faire ce que l'on connaît que l'on pourra faire ce que l'on ne connaît pas --

Poste le Monday 2 January 2006 08:30:27
Répondre     Citer    
Re: Utilité de la compilation
Envoyé par: thomas debay

D'accord, d'accord...

Pour moi, l'intérêt de la compilation n'est effectivement pas dans les possibilités de choix des options (sauf pour certaines applications comme MPlayer). Les options de KDE, par exemple, n'ont pas beaucoup d'importance pour l'utilisation que j'en fait.

En revanche, l'optimisation de l'application pour ma machine est très importante (pour un ordinateur à utilisation quotidienne et "normale", c'est important, mais je suis aussi en train de monter un "media center" sous linux, et là, les performances doivent être optimisées au maximum)

Le mieux pour me décider serait que je fasse un test... Mais le problème, c'est qu'il faut que les conditions du test soient bonnes pour qu'il soit significatif !

Est-ce que, si j'installe, sur le même ordi, une debian, une arch, une gentoo, (et d'autres ?) et que je paramètre les mêmes services au boot, que j'installe les mêmes serveurs X, le même KDE, et que je compare en chronomètrant, ce sera significatif ?
Que faut-il faire d'autre ?
Car je me doute bien que tout dépend d'un nombre important de paramètres (services, modules, noyau, etc etc).

Est-il possible de faire un test significatif ou il vaut mieux laisser tomber cette idée ?

--

Poste le Monday 2 January 2006 09:55:25
Répondre     Citer    
Re: Utilité de la compilation
Envoyé par: gnulinuxos

sur certaines architectures ca augmente vraiment les perphs...
mais teste ca serait genial...

sinon:
-tres rarement ca marche pas...mais tres rarement(bug)
-sinon c'est genial...:
USE->definit le support dans les autres aplications:
par exemple tu compiles xine:
emerge wine-ui (le front end...et comme ca gere les dependances ca compile tout le reste)
tu peux ajouter ou enlever le suport de win32 codecs par exemple
quand tu l'ajoute,ca s'ajoute aussi dans les dependances...genial
donc tu installe ce que tu as besoin...

-Os -O2 -O3
connait pas les gains reels entre -O2 et -O3 (faibles???)

-pipe
doit surement acellerer enormement

march=
doit aussi surement acelerer enormement

sinon compile ton kernel ca acelere enormement aussi...
->met que le necessaire
->optimise pour ton cpu et tes aplications (march,premptible...)

j'ai trouve une diference enorme entre knoppix sur disque dur pas en mode cd(du genre debian) et gentoo assez optimise
mais le kernel et -pipe doivent jouer un role enorme...
(comparaison entre 2 gentoo dont une anciene(de memoire) non obtimisee sur les temps de compilations(pipe) et la reactivitee(premptibilitee du kernel ameliore))

Poste le Tuesday 3 January 2006 04:13:07
Répondre     Citer    
Re: Utilité de la compilation
Envoyé par: gnulinuxos

ah oui j'oubliait
je trouve les apps bien plus stables avec gentoo qu'avec knoppix-debian sur dd

ps:je me demande comment font une distrib comme debian quand ils changent de toolchain(gcc...) pour les paquets...sont-ils encore compatible avec les ancienes distribs...et qu'en est il des autres distribs avec dpkg et apt-get...probleme non?

Poste le Tuesday 3 January 2006 04:16:39
Répondre     Citer    
Re: Utilité de la compilation
Envoyé par: elfato

oui et non
probleme pour les versions non-officiellement-stables
pour les autre la compatibilité est assurée.

mais rien ne vaut une bonne distrib source

Poste le Tuesday 3 January 2006 08:00:11
Répondre     Citer    
Re: Utilité de la compilation

Je voudrais dire, il me semble que ne soit pas si trivial que cela, que la majorité des applications que l'on utilise sont compilées ( meme si elle proviennent d'un packager )

--> La question initiale mériterait d'etre reformulée

--
Brugmans Frédéric

[www.brugmans.net]
[triathlon.sport-challenge.be]

Poste le Tuesday 3 January 2006 09:01:50
Répondre     Citer    
Re: Utilité de la compilation
Envoyé par: Pierre Renié

Citation
AlSim
Par contre, le prix à payer, c'est le temps d'installation : compte plus de 12 heures pour KDE
Moi sur un AMD sempron 2400+, ça met 2 heures pour kdelibs et 2 pour kdebase (en ./configure, make, make install) Ca m'a donné un environnement KDE minimal avec Konqueror et quelques outils (Kate, KDE Control center...)

J'ai aussi compilé Gimp pour voir, avec des options march= (pour mon processeur) et j'ai remarqué une augmentation de la vitesse de Gimp. (je crois même un facteur 2 pour le calcul) mais bien sûr aucun gain pour le chargement de fichiers

Poste le Tuesday 3 January 2006 13:06:22
Répondre     Citer    
Re: Utilité de la compilation
Envoyé par: thomas debay

Tout bien réfléchi, je me dis que je vais essayer une gentoo.
Ensuite je verrai bien si ca va convenir à mon utilisation, et si ca me plait ou non.

Par contre, vous utilisez tous des options pour la compilation que je ne connais pas :

exemple :
-Os -O2 -O3
-pipe
march=

Est-ce ces commandes sont universelles ? Càd qu'elles marchent avec toute compilation ? Dans ce cas, existe-t'il un tutoriel pour les apprendre ?

Car je n'ai pas beaucoup de connaissances en développement, donc pas beaucoup non plus en compilation...

Connaissez-vous un bon site où il est expliqué les bases de la compilation ?

Merci,

Poste le Tuesday 3 January 2006 18:57:48
Répondre     Citer    
Re: Utilité de la compilation
Envoyé par: moijbt

En fait, tu ne définis ces options de compilation qu'une fois, dans le make.conf , le fichier "phare" de Gentoo ;-)
Pour plus de renseignements : [www.gentoo.org]
Ce manuel est d'ailleurs quasiment essentiel pour installer Gentoo.

Poste le Tuesday 3 January 2006 19:39:08
Répondre     Citer    
Aller à la page:  1 2 Page suivante
Page: 1 sur 2
Seuls les utilisateurs enregistrés peuvent poster des messages dans ce forum.
Ce forum !
Utilité de la compilation
Débattez, trollez sur les distributions, les logiciels libres ....
Mais attention, débat ne veut pas dire insultes ! Restez courtois, merci.
Nouveau sujet sur ce forum

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons