On Mon, Aug 04, 2003 at 01:54:24AM +0200, Matteo D'Alfonso wrote:
> Quello che mi piacerebbe fare � un "progetto di ottimizzazione Debian",
> i cui scopi principali sarebbero:
> - trovare un metodo semplice e _stabile_ per permettere all'utente di
>   ricompilare, ottimizzati, i pacchetti che vuole
Allora, quello che mi ahnno suggerite e quello che ho trovato in giro �
questo.
Un software pu� essere ottimizzato se durante la compilazione si pu�
aggiungere l'opzione "-march=cpu type"[1].
A sua volta un pacchetto debian, se � fatto bene, utilizza la variabile
"DEBIAN_BUILDARCH=cpu type", che viene utilizzata durante la
compilazione cos� "-march=$DEBIAN_BUILDARCH".
Siccome non tutti i pacchetti sono stati fatti cos�, si pu� installare
pentium-builder, che � uno scriptino in perl che "forza" l'utilizzo di
"-march=$DEBIAN_BUILDARCH", e volendo si pu� specificare quale versione
del gcc utilizzare, in questa maniera si pu� compilare su una
testing/unstable pacchetti per stable.

Da analizzare c'� ancora apt-build, che ahim� � ad un livello
leggermente superiore al mio, oltre ad essere scritto in perl, linguaggio
che non conosco; se fosse stabile sarebbe perfetto per�.

> - documenti ed HOWTO su come velocizzare la compilazione, su compiler
>   farm e affini
L'argomento velocizzare la compilazione porta subito a tre brevi
risposte: openmosix, ccache e distcc.

OPENMOSIX
Mi ha fatto sudare sette camicie, la patch debian _non_ funziona, ho
dovuto per forza usare un kernel pulito.
Se si ha una macchina con MHz >500 la compilazione in generalmente non
migra, al massimo durante la compressione/decompressione, ma anche l� se
la macchina � abbastanza potente non migra niente.
� ovvio che si pu� forzare la migrazione, ma questo complicherebbe le
cose.

CCACHE
Provato una sola volta, e mi si sono allungati i tempi di compilazione
0_o! qualcosa deve essere andato storto.

DISTCC
Sembra perfetto per l'obbiettivo, peccato che non riesca a fare il
backporting da sid in woody, mi toccher� ricompilare senza avere il .deb
:-(

> - attivare un mirror pubblico di pachetti ottimizzati per architettura
>   586 o superiore, e magari anche per k6 (sono un fan AMD :)
Ecco, questa � contemporaneamente la parte semplice e difficile, dove il
difficile consiste nell'automatizzare il tutto, ho trovato e mi hanno
spedito scripts, che man mano sto leggendo e studiando.

Il sonno e la stanchezza si fanno sentire, prossime notizie settimana
prossima.

Werewolf.

P.S. un grazie a tutti quelli che mi hanno dato una mano, in particolare
a MaX di Debian-it che mi ha passato un .tgz niente male.

[1] http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_2.html#SEC31
-- 
Matteo D'Alfonso              \    /
werewolf(at)pavia.linux.it     \/\/
http://bagginslab.hopto.org/   /\/\
http://pavia.linux.it/        /    \


Rispondere a