[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: apt-get & apt-build



Mattia Milleri ha scritto:

Sapendo che apt-get ha tutti i pacchetti belli e pronti cosa guadagno nell'andare a compilarli con apt-build? Se con i pacchetti compilati da apt-build c'è un effettivo aumento di prestazioni forse converrebbe fare un apt-build world, ma ne vale la pena? Voi lo fate?

se ne è già parlato molto di questo argomento.
Riassumo.

Compilare un pacchetto per la propria macchina può avere aumenti prestazionali da nulli fino a percentuali molto elevate, dipende molto dal pacchetto che si ricompila. Un esempio: se il pacchetto si occupa quasi esclusivamente di I/O su disco, anche ricompilandolo il collo di bottiglia resterà il disco e quindi la sua ricompilazione è nella maggior parte dei casi inutile; se invece il pacchetto fa molti calcoli, allora la ricompilazione può essere molto vantaggiosa (tieni presente però che molto spesso se un programma fa molti calcoli, magari quei calcoli sono fatti da librerie condivise e non direttamente dal programma, quindi in questo caso bisogna compilarsi le librerie e non il programma).

Bisogna anche capire che ricompilare un pacchetto compilato per i386 a i686 può essere in molti casi già sufficiente (compilarlo per l'effettiva CPU in molti casi si guadagneranno solo delle frazioni percentuali).

Inoltre non occorre ricompilare tutto, ma soltanto quelle parti che effettivamente portano ad un aumento prestazionale considerevole ed inoltre solo se tali parti sono usate frequentemente (di solito è una fatica inutile ricompilare un pacchetto che si usa una volta ogni sei mesi e che permette di risparmiare un minuto di CPU)

Devi tenere conto che tutto è relativo all'hardware che hai a disposizione e per ottenere le prestazioni ottimali potrebbe essere necessario impostare i parametri di ottimizzazione con modalità differenti: non è vero che ottimizzando tutto con -O3 si ottengono le migliori prestazioni ... potrebbe anche essere che un eseguibile è più veloce con -O2 o con -Os

Ci sono alcune parti che sono molto usate e quindi una loro compilazione più vicina al proprio hardware può portare dei miglioramenti notevoli, ma non sempre occorre compilarseli ...

1) Linux. Questa parte del sistema GNU/Linux è molto importante e conviene installarsi prima di tutto la versione compilata per la propria CPU. Esiste già compilata.
Se si dispone o si vuole installare una versione 2.6 recente eseguire
$ apt-cache search linux-image
e scegliere la versione già compilata per il proprio processore
se invece si usa Linux 2.4
$ apt-cache search kernel-image
e scegliere la versione già compilata per il proprio processore

Se si vogliono ottimizzare le prestazioni della propria macchina e avere più memoria RAM libera conviene intervenire proprio su Linux: ricompilarlo dopo averlo configurato in modo appropriato: eliminando tutto quello che non serve per il proprio sistema, soprattutto togliendo tutto ciò che è compilato staticamente, ma che non verrà mai usato e, dove possibile, trasformare in modulo quelle parti che non vengono usate sempre/spesso.

2) libc: queste librerie sono fondamentali ed usate dalla maggior parte dei pacchetti; questo vuol dire che ottimizzando queste si ottimizza tutto il sistema.
Se si usa Linux 2.6, allora è possibile installarsi il pacchetto libc6-i686


Quelli qui sopra elencati sono i due punti fondamentali che permettono, in ogni situazione, di migliorare le prestazioni generali del proprio sistema (con questi due accorgimenti puoi avere aumenti di prestazioni anche del 50%, ad esempio sull'apertura di molte applicazioni). Poi dipende molto per cosa usi GUN/Linux e quindi vedere quali sono i programmi che più utilizzi; provare a ricompilarsi quelli e le librerie che usano controllando se hai degli aumenti prestazionali accettabili rispetto al costo della compilazione.

Se però si vogliono compilare molte cose, allora conviene prima di tutto compilarsi il compilatore e le librerie da cui dipende, in modo da avere eseguibili più prestazionali e poi partire compilandosi tutto il resto.

Ciao
Davide

--
Linux User: 302090: http://counter.li.org
Prodotti consigliati:
Sistema operativo: Debian: http://www.it.debian.org
Strumenti per l'ufficio: OpenOffice.org: http://it.openoffice.org
Database: PostgreSQL: http://www.postgres.org
Browser: FireFox: http://www.mozilla.org/products/firefox
Client di posta: ThunderBird: http://www.mozilla.org/products/thunderbird
--
Non autorizzo la memorizzazione del mio indirizzo di posta a chi usa
outlook: non voglio essere invaso da spam



Reply to: