In questa guida andremo ad analizzare apt-build utile tool che ci consente di compilare le nostre applicazioni preferite ottimizzandole per il nostro sistema il tutto con estrema facilità.

apt-build - livelli di ottimizzazione
La maggior parte dei pacchetti inclusi nei repostiory ufficiali di Debian e Ubuntu vengono compilati  con opzioni di compilazione generiche per garantire una maggiore stabilità e soprattutto supporto per i più diffusi sistemi. Se vogliamo sfruttare tutte le performance disponibili nel nostro sistema includendo le innovazioni introdotte in questi anni da Intel e AMD possiamo ricompilare alcune applicazioni includendo le ottimizzazioni relative al nostro processore. Per facilitare questa operazione è disponibile nei repository ufficiali il tool apt-build che ci consente di compilare / installare facilmente le applicazioni (compreso kernel, ambienti desktop ecc) includendo ottimizzazioni specifiche per il nostro processore.

apt-build è un  frontend di apt creato per facilitare la compilazione, ottimizzazione ed installazione dei pacchetti creando un archivio locale dei pacchetti compilati con la possibilità di gestire anche gli aggiornamenti del sistema e molto altro ancora.

Prima di procedere con la guida è necessario fare una precisazione: non tutti i programmi diventeranno più veloci, esisteranno sempre i “colli di bottiglia”, come ad esempio la velocità di lettura degli Hard Disk e molti altri fattori. I programmi che ne trarranno giovamento maggiore saranno quelli che abusano di operazioni matematiche e che vanno a “stressare” il processore.

La prima cosa da fare è capire quale processore sia presente nel nostro sistema, se non lo sappiamo basta digitare da terminale:

cat /proc/cpuinfo 

e avremo informazioni dettagliate sul nostro processore, ora siamo pronti ad installare apt-build per farlo basta digitare:

sudo apt-get install apt-build

durante l’installazione partirà un wizard che ci indicherà prima cosa il livello di ottimizzazione, personalmente consiglio il livello intermedio o elevato (anche se in questo caso i tempo di compilazione sanno più lunghi), successivamente il tool ci chiederà di aggiungere i repository contenenti i sorgenti dei nostri pacchetti, una volta confermato arriva il punto più importante ossia l’inserimento del processore.

apt-build - scelta cpu

Avremo un’elenco di processori Intel e AMD dal native, al core2 (dual core) oppure ottimizzato per Intel Core i7, Intel Atom ecc.

Una volta scelto confermiamo ed ecco pronto il nostro apt-build, l’utilizzo è molto simile al “classico” apt-get basta digitare:

sudo apt-build install nomepacchettodainstallare

dove al posto di nomepacchettodainstallare andremo ad aggiunger il nome dell’applicazione / pacchetto da installare esempio per Blender basta digitare:

sudo apt-build install blender

e confermiamo

apt-build - installazione applicazione

Il tool installa tutti i pacchetti richiesti per la corretta compilazione del pacchetto, successivamente andrà a scaricare i sorgenti e inizierà a compilarle l’applicazione con le ottimizzazioni per il nostro processore.
Al termine della compilazione il tool creerà uno o più pacchetti deb dell’applicazione richiesta e andrà ad installarli automaticamente. Al termine dell’installazione avremo la nostra applicazioni installata e soprattutto ottimizzata per il nostro sistema, per rimuoverla basta digitare il classico sudo apt-get remove nomeapplicazione.

Ricordo che apt-build supporta solo applicazioni presenti nei repository ufficiali  (dovrebbe supportare anche i ppa di ubuntu) non possiamo ad esempio scaricare il codice sorgente di un’applicazione o aggiornamento ed installarlo con apt-build. apt-build ci consente ad esempio di aggiornare la nostra distribuzione con pacchetti compilati ad hoc per il nostro sistema e molto altro ancora.

Per maggiori informazioni e per  conoscere tutte le varie opzioni di apt-build basta digitare apt-build –help oppure consultare questa pagina.

  • Danilo Foglia

    è possibile utilizzare questo tool insieme ad apt-fast? se si come?

  • Salvatore Gnecchi

    “attenzione: ottimizzazioni elevate possono provocare problemi di stabilitá”

    bene! Partiamo da un bel concetto di “ottimizzazione”! Piú ottimizzi e piú rischi la stabilitá.

    Dovrebbero parlare di “maggiore velocitá” e forse possiamo capirci.

    • Agno

      Scusate, ma -O3 non dovrebbe dare problemi di stabilità, oppure sbaglio? Non era -Ofast che poteva problemi ?

    • Simone

      In effetti [ un errore di concetto abbastanza grave per dei tecnologi…

  • riccardo maestri

    c’è il processore amd turion zm84?

  • Tuxino

    Gli addetti ai lavori sanno benissimo che se il sistema non è ottimizzato allo stesso modo , le ottimizzazioni applicate al solo software non danno risultati rilevanti a “occhio nudo”.

    • leej

      io non sono un addetto ai lavori :-)))
      come si fa ad ottimizzare il sistema?

      • Mauro

        infatti, il tuo appunto è interessante.
        Anche io sono interessato a sapere in che modo dovrebbe essere ottimizzato un sistema.

        Grazie

        • Tuxino

          ottimizzare significa anche rendere meno stabile

          • braian griffin

            Meno stabile solo se fai ottimizzazioni sbagliate . Io uso un kernel compilato aderente all’hardware e il browser ricompilato per la cpu più vari tuning. Il sistema è veloce e reattivo ed è una roccia. Considera anche che togliendo roba togli anche bug eventalmente connessi.

          • Simone

            @ottimizzare significa anche rendere meno stabile@ [ un controsenso> ottimizzare significa rendere ottimo ci; che, evidentemente, non lo era. Se si rende meno stabile non si ottimizza, si destabilizza.

    • Agno

      In genere sì. Comunque ho troavato programmi che compilati con -O1 o -O2 cambiano sensibilmente “le loro permorfance”

  • ale

    Si può usare questo tool per aggiornare il sistema? Ovvero per ottimizzare i pacchetti che aggiorni con upgrade/dist-upgrade?

    • si c’è anche scritto sull’articolo

      • ale

        Perdonami ho letto di fretta 🙂

  • Agno

    E per rimuovere le “build-dep” installate prima della compilazione ?

  • mmarco

    dal “consultare questa pagina” :

    BUGS
    Many.

  • Lando

    per il kernel come funzionerebbe? su ubuntu

  • sandro

    sudo apt-build install blender
    con livello medio mi dà errori ovunque e fallisce la compialzione
    a qualcuno funziona ?

  • pablomoreno

    ma per processori i5-3337u quale architettura occorre scegliere?

No more articles