IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Distributions Discussion :

Voici pourquoi les utisateurs d' apt-install doivent apprendre à utiliser apt-build.


Sujet :

Distributions

  1. #1
    Membre extrêmement actif
    Avatar de Madmac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 707
    Points : 1 448
    Points
    1 448
    Billets dans le blog
    7
    Par défaut Voici pourquoi les utisateurs d' apt-install doivent apprendre à utiliser apt-build.


    Ce qui doit attirer votre attention sont les deux dernières lignes de ce test
    .

    C'est pratiquement deux fois plus rapide quand le code est spécifiquement compilé pour la machine. Et ce test a été fait en 2008 !

    Alors je vous laisse imaginez le résultat avec un I5 ou un I7. 3 fois plus rapide? C'est dans le domaine du possible. Et cela vaut pour TOUS vos programmes et vos drivers. Pas seulement pour Ruby.

    À première vue, un gain de performance semblable semble impossible. C'est comme doublé la fréquence de travail du CPU, sans que ça chauffe!

    Mais en y réfléchissant ces paquets sont compilés pour fonctionner avec un I9. Mais aussi avec...des Céléron à 2 noyaux. Alors forcément, certains registres et caches ne sont pas utilisés sur les modèles plus récents.

    C'est une découverte importante: Une distro Mint peut tourner aussi vite qu'une Gentoo sans les casse-têtes d'une Gentoo. Moi ça m'épate !

    Mais avant de tout recompiler. Commencer par GCC ...

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 919
    Points : 220 492
    Points
    220 492
    Billets dans le blog
    127
    Par défaut
    Bonjour,

    Mon problème, c'est que cela date de 2008. Tout a changé, si je puis dire.
    D'une, si vous souhaitez rentrer dans le jeu de la compilation/recompilation, alors installez une Arch Linux ou une Gentoo.
    D'autre part, préférez-vous prendre 1h pour compiler/installer un paquet, ou 10 secondes ?

  3. #3
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 311
    Points : 12 830
    Points
    12 830
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    D'autre part, préférez-vous prendre 1h pour compiler/installer un paquet, ou 10 secondes ?
    Et encore, ça, c'est quand la compilation fonctionne correctement.

    De plus, on est à l'ère du: mise à jours tous les jours et non support de la version de la veille et déjà, rien qu'avec cela, les ordinateurs sont monopolisés pour rien.
    Ou pour le dire plus simplement, on a actuellement des machines qui commence leur installation au tout premier démarrage et ne termine celle-ci qu'à sa dernière extinction (entre les 2, il y a l'utilisateur qui espère un jour pouvoir utiliser sa machine...)

  4. #4
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 276
    Points : 13 553
    Points
    13 553
    Par défaut
    Bonjour

    apt-get n'est pas fait pour aller plus vite. Mais pour faire tout, tout seul.

  5. #5
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 129
    Points
    28 129
    Par défaut
    Bonjour,

    C'est le principe de certaines distribution Linux, comme gentoo. Oui, les programmes sont systématiquement compilés et optimisés pour le système cible, et donc tournent plus vite. Mais que fais-tu du temps de maintenance ? Car il arrive (relativement souvent) qu'un package ne recompile pas, ou pas entièrement, ou ne supporte plus les options précédemment choisies, ou tout un tas d'autres choses qui font que, comme pour tout, il y a des avantages et des inconvénients.

    Et puis se baser sur un test de 2008 alors qu'on est en 2020, franchement non.

  6. #6
    Membre extrêmement actif
    Avatar de Madmac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 707
    Points : 1 448
    Points
    1 448
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par gangsoleil Voir le message
    Bonjour,

    C'est le principe de certaines distribution Linux, comme gentoo. Oui, les programmes sont systématiquement compilés et optimisés pour le système cible, et donc tournent plus vite. Mais que fais-tu du temps de maintenance ? Car il arrive (relativement souvent) qu'un package ne recompile pas, ou pas entièrement, ou ne supporte plus les options précédemment choisies, ou tout un tas d'autres choses qui font que, comme pour tout, il y a des avantages et des inconvénients.
    Ce serait étonnant, puisqu'il s'agit du même code utilisé pour faire leur paquet, mais sans les directives de compilation spécifique à ton CPU. Les paquetage standards sont fait à partir de paquetage-source. Apt-build ne compile pas à partir des sources, mais à partir des paquetages source.

    Citation Envoyé par gangsoleil Voir le message
    Et puis se baser sur un test de 2008 alors qu'on est en 2020, franchement non.
    Cela reste encore plus pertinant parce que la différence entre un CELEROM et un i9 est encore plus importante. Et pour cette raison, je suis convaincu que les mêmes tests ne donnerais pas des différences du simple au double, mais du simple au triple avec un I9. Pour faire des paquetages universels, cela suppose forcément que ces paquetages n'utilisent que les instructions communes à tout les CPU Intel.

    Et pour un serveur, je ne crois pas qu'une recompilation complète demande une nuit.

    Citation Envoyé par LittleWhite Voir le message
    Bonjour,

    Mon problème, c'est que cela date de 2008. Tout a changé, si je puis dire.
    D'une, si vous souhaitez rentrer dans le jeu de la compilation/recompilation, alors installez une Arch Linux ou une Gentoo.
    D'autre part, préférez-vous prendre 1h pour compiler/installer un paquet, ou 10 secondes ?
    Avec un disque SSD, la différence n'est pas très importante, si tu as commencé par le compilateur GCC.

    Vous devriez essayé. Je suis convaincu que vous allez avoir une grosse surprise. Si j'avais découvert cet article plus tôt, j'aurai tenté la compilation de mon driver graphique Nouveau, pour voir si l'utilisation du driver de Nvidia état vraiment nécessaire.

    Poour des trucs comme les desktops et les drivers, je suis sûr que l'impact doivent-être notable.

    Citation Envoyé par Flodelarab Voir le message
    Bonjour

    apt-get n'est pas fait pour aller plus vite. Mais pour faire tout, tout seul.

    En principe, c'est également vrai pour apt-build. Le seul échec que j'ai eu jusqu'à maintenant est avec Gimp. Et c'est surement une directives qui pose problème car le code se compile sans erreur.

  7. #7
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 919
    Points : 220 492
    Points
    220 492
    Billets dans le blog
    127
    Par défaut
    Citation Envoyé par Madmac Voir le message
    Avec un disque SSD, la différence n'est pas très importante, si tu as commencé par le compilateur GCC.
    Certes le SSD aide beaucoup dans le processus de compilation, mais cela ne fait pas tout. Le CPU prends cher lors d'une compilation.

  8. #8
    Membre extrêmement actif
    Avatar de Madmac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 707
    Points : 1 448
    Points
    1 448
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Certes le SSD aide beaucoup dans le processus de compilation, mais cela ne fait pas tout. Le CPU prends cher lors d'une compilation.
    Et ou est le problème? Cela ne t'empêche même pas de te balader sur youtube, pendant la compilation. Et tu peux faire cela pendant que tu code Tu es programmeur, tu as formément fait des compilations! Je vois pas pourquoi ça vous semble excentrique.

    La partie, la plus complquer de se truc est d'avoir toutes les applications nécessaire sur le système. Et en général, la distro a un truc que te charge le tous avec un nom comme essential_dev.

    Essaie: apt-build install gedit

    Et regarde l'horloge sur ton écran ...

  9. #9
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 919
    Points : 220 492
    Points
    220 492
    Billets dans le blog
    127
    Par défaut
    Ce qui me gêne, c'est que je ne suis pas convaincu du gain de compiler moi même mes programmes. Entre une installation en 5 secondes chrono (avec SSD et i5 8e génération (8250U)) et une compilation qui prends plus d'une minute, "la question est vite répondue". Prouvez que j'y gagne quelque chose à recompiler mes paquets (et une preuve autre que de 2008) pour que je commence à m'intéresser à la question (et, à vrai dire, pour avoir tester du Gentoo, cela m'avait assez saoulé à l'époque).

  10. #10
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 129
    Points
    28 129
    Par défaut
    Bonjour,

    Citation Envoyé par LittleWhite Voir le message
    pour avoir tester du Gentoo, cela m'avait assez saoulé à l'époque.
    C'est le cas de beaucoup de gens. Et pourtant, c'est plus rapide. Mais la rapidité ne fait pas tout, les problèmes liés à des matériels plus ou moins ésotériques sont fréquents, et nécessitent du temps pour être analysés et réparés.

  11. #11
    Nb
    Nb est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 151
    Points : 426
    Points
    426
    Par défaut
    Avec un disque SSD, la différence n'est pas très importante, si tu as commencé par le compilateur GCC.
    SSD ou pas compiler un Firefox par exemple ca met doit mettre 30min sur une grosse machine actuelle et plus d'une heure sur un truc genre i5 avec un SSD.


    Citation Envoyé par gangsoleil Voir le message
    Et pourtant, c'est plus rapide.
    Oui enfin pour l'immense majorité des utilisateur de Gentoo la difference n'est pas perceptible je pense. L'optimisation par la compil (au delà de ce qui est configuré de base) faut quand meme sacrément maitriser le compilateur que tu utilises et le programme que tu compiles pour que ca soit efficace ET stable.

Discussions similaires

  1. Réponses: 13
    Dernier message: 30/04/2020, 20h56
  2. Réponses: 11
    Dernier message: 18/02/2020, 19h05
  3. Les meilleurs cours et tutoriels pour apprendre à utiliser XMLRAD
    Par Community Management dans le forum XMLRAD
    Réponses: 0
    Dernier message: 25/06/2018, 20h40
  4. Réponses: 1
    Dernier message: 12/10/2015, 22h47
  5. Réponses: 3
    Dernier message: 03/04/2015, 17h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo