Recompiller automatiquement avec APT ? [Debian] - Logiciels - Linux et OS Alternatifs
Marsh Posté le 03-05-2005 à 00:19:44
il y a une apt-src ou un truc comme ça.
C'est possible me semble t'il mais pas aisé !
Marsh Posté le 03-05-2005 à 00:55:23
XK a écrit : sous Debian Sarge, le problème c'est que les programmes ne sont pas du tout optimisés |
Bien sûr, les programmes sont tellement mals écrits qu'on a recours à plein de bidouilles pour arriver à sauver les meubles...
T'espères gagner quoi ? Des micro-secondes ?
Marsh Posté le 03-05-2005 à 02:29:44
Si tu es fan d'optimisation, regardes du côté d'apt-build ; il s'agit d'un utilitaire permettant d'optimiser ses paquets en les compilants ou les recompilants à partir de leurs sources. L'avantage est qu'il automatise les tâches manuelles de compilation à la sauce APT bien sûr pour une installation/réinstallation ou suppression aisée.
Note à propos de l'optimisation :
L'optimisation peut apporter un gain de performance, mais il faut rester réaliste, celui-ci s'avère plutôt minime (dans le cas d'une utilisation 'normale') comme l'a précisé eL_Shaman__. Il est également important de préciser que certaines options d'optimisations (notamment celles dites 'agressives') utilisées par gcc, par exemple, peuvent même produire l'effet contraire, à savoir entraîner une dégradation des performances voire de sérieux problèmes d'instabilité avec des programmes qui les supportent parfois mal.
Bref, l'intérêt est au final réduit (en faisant un rapport gain de performance / ressources nécessaires pour la compilation) sauf si c'est pour le fun ou éventuellement pour de gros calculs scientifiques (les cycles d'horloge gagnés étant précieux pour ce type d'application très lourde).
Marsh Posté le 03-05-2005 à 11:31:49
THRAK a écrit : éventuellement pour de gros calculs scientifiques (les cycles d'horloge gagnés étant précieux pour ce type d'application très lourde). |
Dans ce cas, on gagne bien plus à bosser ses algos.
Marsh Posté le 03-05-2005 à 15:01:51
Dans mon cas il s'agit d'un serveur alors une gentoo...
Je vais chercher des infos sur apt-build, j'ai déjà allégé au maximum le noyau mais j'aurai aimé que les serveurs genre apache2 soient compilés avec les optimisations PIII car à quoi ça sert de prendre une machine puissante si les applications sont optimisées pour un 386
déjà le changement de noyau a fait beaucoup de bien à la machine (beaucoup plus réactive), je pense que la recompillation des applis ne doit pas être aussi flagrante mais c'est déjà ça de gagné
Marsh Posté le 03-05-2005 à 15:52:07
XK a écrit : |
Comment tu le mesures ? C'est juste au démarrage ? Tu as une interface graphique ?
Marsh Posté le 03-05-2005 à 16:58:04
totoffe38 a écrit : Sinon installes une Gentoo si tu veux recompiler. Et oui, on gagne enormement en performances! Fais l'essai avec un PC genre un PII ou un PIII, tu lis un divx sur une debian avec mplayer: ca rame. maintenant tu recompiles, y'a des chances que ca ne rame plus. En tout cas c'etait mon cas, et c'est ce qui m'a pousse a installer une gentoo sur mon PIII 500. |
J'ai une veille bécane de test (PII 300 avec 256 Mo de RAM) sous Debian Sarge et Ubuntu où je parviens à lancer 2-3 vidéos simultanément via mplayer avant que ça ne commence à ramer
Marsh Posté le 03-05-2005 à 18:09:22
XK a écrit : j'aurai aimé que les serveurs genre apache2 soient compilés avec les optimisations PIII car à quoi ça sert de prendre une machine puissante si les applications sont optimisées pour un 386 |
Tiens une question là qui me vient à l'esprit : est ce que les optimisations d'un P3 sont utiles pour Apache? Je pense à MMX, SSE et cie, ça n'est pas utilisé par Apache ça?
Marsh Posté le 03-05-2005 à 18:14:56
Je crois pas non.
Moi si je suis passé a gentoo, c'est pour les optimisation certe de mon p4 hyper-threading, mais c'est surtout pour la bonne intégration des logiciels entre eux.
Marsh Posté le 03-05-2005 à 20:01:34
desch3 a écrit : Comment tu le mesures ? C'est juste au démarrage ? Tu as une interface graphique ? |
Je ne sais pas si ma constatation est très objective, déjà un démarrage bien plus rapide, l'arrêt et le lancement des programmes pareil... même si la machine n'est pas forcément plus performante ça y ressemble
Marsh Posté le 03-05-2005 à 20:02:21
lukefab a écrit : Tiens une question là qui me vient à l'esprit : est ce que les optimisations d'un P3 sont utiles pour Apache? Je pense à MMX, SSE et cie, ça n'est pas utilisé par Apache ça? |
Ca va surtout permettre de choisir les options à intégrer et donc à l'alléger
Marsh Posté le 03-05-2005 à 20:09:19
XK : je ne parle pas du ./configure (ou quel que soit son nom sous gentoo/emerge) mais de la recompilation en elle même.
Marsh Posté le 09-05-2005 à 23:28:56
d'après ce que vous dites dans une installation serveur il n'y a pas vraiment d'interret a recompiller les paquets
merci pour le lien
Marsh Posté le 10-05-2005 à 22:07:29
Moi, je suis pour les optimisations (et oui, ici je suis l'exception qui confirme la règle) en tout cas philosophiquement.
Ceux qui disent que les algos doivent être optimisés ont raison, mais ils changent de sujet. Ici, on parle du bas-niveau, pas du haut-niveau.
Sinon, avec les optimisations matérielles, il ne faut pas faire n'importe quoi. Exemple à ne pas faire : utiliser des applications optimisées (par exemple SSE, AMD64...) avec un noyau non-optimisé (c-à-d pour i386). L'avantage de SSE, AMD64... c'est que ça apporte des registres supplémentaires dans le processeur (rien à voir avec la base de registres de Windows) et bien sûr, pour manipuler ces registres supplémentaires, il faut des instructions supplémentaires, ce qui explique pourquoi on parle de "jeu d'instructions SSE" ou "jeu d'instructions AMD64".
Le noyau, responsable du multitâche, doit exécuter un processus, puis un autre, puis un autre... La commutation de processus s'appelle aussi "Commutation de contexte". Pourquoi ? Parce que chaque processus manipule les registres du processeur, et lors d'un changement de contexte, les valeurs des registres doivent être stockées en RAM et il faut rétablir (de la RAM vers les registres) les valeurs associées au processus élu (par le noyau) pour s'exécuter (c-à-d pour profiter du temps processeur).
Si le noyau est fait pour i386, il fera des commutations de contexte pour i386, même si ton processeur est un P4 : les registres SSE n'auront pas été pris en charge (restaurés et sauvegardés) lors des commutations de contexte. Si aucune application n'utilise ces registres, le fait que les commutations de contexte (du noyau) soient incomplètes passera inapperçu, mais s'il y a des applications dites "optimisées SSE", ça va poser un réel problème lors de l'exécution : plantage assuré. Le pire c'est qu'avant de faire une grosse bourde (occasionnant un plantage) l'application peut faire des petites bourdes, comme par exemple corrompre des fichiers (et comme ça passe totalement inapperçu, tu ne le sauras jamais).
Conclusion : si vous voulez optimiser une application pour le SSE (ou l'AMD64), assurez-vous d'abord que votre noyau l'est aussi. C'est d'ailleurs pour ça que Debian compile tout pour i386 sauf... le noyau Encore que je ne sais pas exactement comment ils font leur noyau.
Remarque : SSE est inclus dans AMD64.
Marsh Posté le 10-05-2005 à 22:17:07
Je le répète :
1) Je suis POUR les optimisations matérielles.
2) Je suis CONTRE le fait que Microsoft se soit approprié le terme "registre" pour parler de son Windows à la noix, alors que les registres des processeurs existent depuis que les processeurs existent.
Marsh Posté le 11-05-2005 à 10:56:49
XK a écrit : Dans mon cas il s'agit d'un serveur alors une gentoo... |
Etrangement, je vois de plus en plus de boites qui mettent des gentoo en prod. Et pas des petites prods.
Marsh Posté le 11-05-2005 à 11:27:37
YupYup a écrit : Etrangement, je vois de plus en plus de boites qui mettent des gentoo en prod. Et pas des petites prods. |
bah une gentoo c'est jamais qu'une grosse debian dont le apt-get upgrade est trés lent...
Marsh Posté le 11-05-2005 à 11:38:52
Voilà, et c'est avant tout du GNU/Linux donc aucun souci.
Marsh Posté le 03-05-2005 à 00:01:53
J'adore la facilité avec laquelle il est possible d'installer et retirer des paquets avec APT sous Debian Sarge, le problème c'est que les programmes ne sont pas du tout optimisés
Je sais qu'installer à partir des sources est la chose à faire, par contre ce n'est pas toujours évident de mettre en places les softs pour qu'ils s'intègrent parfaitement (lancement automatiquement par exemple), pour les désinstaller proprement aussi, sans parler des mises à jour régulières qui obligent à passer beaucoup de temps sur la maintenance, là ou une simple mise à jour par APT suffit...
Je n'ai pas envie de changer de distrib pour une plus optimisée (genre Gentoo), j'aimerai juste savoir s'il est possible d'utiliser APT tout en recompillant automatiquement les paquets pour que leur gestion soit toujours aussi simple, merci