Com accelerar la compilació amb Pacman

Bones, aquesta vegada els porto un petit tip (que probablement molts ja coneguin), però que diverses persones que solen usar distros basades en Pacman probablement no ho sàpiguen, i que per a pitjor: estiguin usant un sol nucli per compilar.

recomano encaridament llegir les «Consideracions per a la compilació» abans de compilar a la babalà

Anem per feina ...

Conèixer el nostre nombre de processadors

Primer anem a veure quants processadors tenim disponibles (els mes experts no s'espantin, hi ha diferències òbviament entre threads i processadors físics, però el makepkg fa servir com a paràmetre els fils d'execució), per això executem:

lscpu | grep '^ CPU (s):'

En el meu cas torna:

[X11tete11x @ Jarvis ~] $ lscpu | grep '^ CPU (s):' CPU (s): 8 [x11tete11x @ Jarvis ~] $

Això és perquè en el cas dels processadors Intel amb HiperThreading mostra també els fils d'execució.

Edita l'Arxiu /etc/makepkg.conf

Editem l'arxiu /etc/makepkg.conf per indicar-li a l'makepkg que usi tots els processadors disponibles; pel que fa a això, segons la wiki de Gentoo, La quantitat de «treballs» a realitzar surt de la següent compte:

Nombre de processadors + HT (HiperThreading en cas d'Intel compatible) + 1

editem:

suo nano /etc/makepkg.conf

i modifiquem la línia MAKEFLAGS (tragueu ) amb el valor corresponent, en el meu cas quedaria així:

MAKEFLAGS = "- J9"

Guardem els canvis i llest, ja podem fer la compilació dels nostres paquets usant diversos nuclis dins de qualsevol de les nostres distros basades en Pacman

A continuació adjunto un vídeo en què es pot apreciar com «simplescreenrecorder» és compilat en cada cas, amb el FER BANDERES (MAKEFLAGS = »- J9"), I sense el FER BANDERES (#MAKEFLAGS = »- J9"):


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   yoyo va dir

    Oncle això és, com diem al meu poble «la polla en vinagre» o sigui, molt bo 😛

    Jo tinc un 4 nuclis, em surten 4, suposo que hauré de posar un 5 no?

    Per cert, corregeix makekpg.conf, que si no tornaràs boig a l'copy / pastero, és makepkg.conf

    Pacman rules !!!! 😛

    1.    x11tete11x va dir

      Just vaig veure el errorsito xD, ja li enviï als nois perquè ho corregeixin xD
      efectivament, en el teu cas seria 5 xD.

      Sabia que t'anava a agradar aquest article xD jajajja

      1.    Manuel de la Font va dir

        Corregit. 🙂

        1.    Manuel de la Font va dir

          El meu user agent em traeix, ara estic a Arch ...

          Tot per fer servir el mateix perfil de Firefox en les dues distros. 😛

      2.    roader va dir

        Aprofità per comentar que si fas servir BFS (si no saps el que és llavors no ho fas servir) el màxim rendiment s'aconsegueix amb la quantitat de nuclis tal qual, sense afegir-hi res.

      3.    shutdown va dir

        I si em tira que tinc «2» poso 3 no ?.

      4.    x11tete11x va dir

        @ShutdowN exacte

      5.    Azureus va dir

        Et marmitons amo, ho vaig fer quan vas treure l'article, ara ho estic utilitzant perquè no sabia compilar jajaja.
        És bonic perquè Conky em diu que els 4 fils de la meva i3 estan a el 100% i quan ho vaig editar crec que tenia només un fil configurat. Estimo això, estic compilant ara mateix el meu propi nucli, a veure com surt: v

    2.    thalskarth va dir

      Coincideixo amb Yoyo, tot i que al meu poble no es digui, és «la polla en vinagre» !!. Tot just arribi a casa ho provo.

      1.    cacho va dir

        que probas quan arribis a casa ... la polla? jajja
        em vas fer riure ...
        abraçada

  2.   yoyo va dir

    Sabia que eren 5 perquè ho deia en aquest post de com compilar a mà el nucli per a Debian jajaja

    http://yoyo308.com/2013/11/22/como-compilar-e-instalar-el-ultimo-kernel-3-12-1-en-crunchbang-waldorf-debian-wheezy/

    1.    x11tete11x va dir

      maleït acte spamero xD jajajja

      1.    Manuel de la Font va dir

        No et preocupis, ja ho tinc en la mira de la meva banhammer, muajajajaja.

      2.    nano va dir

        «El meu banhammer», no em facis donar-te un putazo a tu també perquè se't baixin els fums <3

        1.    Manuel de la Font va dir

          Fora d'aquí, cap de rave, segueix treballant o vaig pel garrot.

      3.    ILAV va dir

        Jajaja .. mare meva, m'encanta aquesta Comunitat.

  3.   roader va dir

    També és molt útil ccache, però això requereix una compilació prèvia per accelerar la compilació.

    1.    thalskarth va dir

      No vaig entendre, compilas per accelerar la compilació?

      1.    roader va dir

        ccache és una eina (molt usada pels usuaris de gentoo) que permet guardar fitxers intermedis de la compilació d'un arxiu, resultant la següent compilacion d'aquest executable molt, molt mes rapida. Útil també per a desenvolupadors d'aplicacions i per a persones que construeixen i actualitzen constantment el seu propi nucli.

      2.    Yukiteru va dir

        ccache és una memòria cau de compilació, quan l'actives la primera compilació que fas dura el que hagi de durar (si és Java, Firefox i LibreOffice junts t'assegures unes quantes hores de compilació si el teu maquinari no és molt potent), però la segona compilació de aquest mateix programari (la mateixa versió, amb alguns canvis en les seves opcions de compilació o pegats) serà molt més ràpida perquè el ccache verifica que molts del que compilat ja estigui a punt i et disminueix el temps de compilació. No obstant això, de vegades dóna problemes (no per alguna cosa en la Wiki de Gentoo posen l'advertència) ia la llista de Firefox OS també ho fan, així que si vas a escorcollar fes-ho amb una mateixa versió, si passes a una altra, neteja el caché i comença de nou.

      3.    thalskarth va dir

        Gràcies a tots dos per la dada, no ho sabia

  4.   Eduardo va dir

    Porto any i mig a Arch i mai m'havia assabentat d'aquest tip, gràcies.

  5.   hjoaco va dir

    ser pobre fa pudor!
    jejejejejejjee

  6.   userarch va dir

    Gràcies. aquestes dades són molt bons

  7.   luis quadrat va dir

    tinc una pregunta ...

    vinc fa un temps usant aquesta opció (el número que em va tirar era 4 pel que queda #MAKEFLAGS = »- J5")

    però noto que quan actualitzo alguns programes, el CPU es va a 100% i és complicat fer servir altres programes mentre passa això ...

    puc fer alguna cosa intermedi ?? per exemple, posar-li un #MAKEFLAGS = »- j3" ???? o és una cosa que aquesta activat o desactivat sense un terme mig?

    salutacions.

    1.    x11tete11x va dir

      Lluís, si, podis posar-li -j3 sense problemes, el que fa aquest paràmetre és definir en quants «threads» (per no entrar en detall, diguem que els threads són en totes les «porcions paral·leles» vas a processar el que faràs) es van a utilitzar per a aquest procés

  8.   anònim va dir

    perfecte, ara li poso. Gràcies vella!