cazzeggio serale
andrea gelmini
bungle a linux.it
Ven 31 Mar 2000 21:45:34 UTC
essendo obbligato per ragioni di varia natura, leggasi economiche,
a dover lavorare con microprocessori che oscillano tra il penoso
e l'osceno, leggasi intel, questa sera mi sono messo a fare un
paio di confronti, un po' per cazzeggio, un po' per apportare
qualche limatura ad alcuni progetti che ho in mente di realizzare.
evito appositamente il termine benchmark, visto che, in genere,
molti, al solo suono di tale parola, si prostano adoranti al
grande gioco dei numeri, come fossero indice unico ed assoluto
dell'efficienza di cio` che si sta misurando...
non mi dilunghero` molto, o quantomeno saltero` i passaggi
piu` ovvi, ma giusto due note per comprendere il senso di
queste prove.
parte dei grossi problemi dell'architettura intel e` dovuta alla necessita`
di avere una compatibilita` all'indietro nell'esecuzione del
codice.
i sorgenti delle varie distribuzioni vengono compilati per microprocessori
80386, permettendo quindi di avere un unico set di cd per le architetture
intel ma, di contro, non si hanno sfruttate le varie ottimizzazioni
specifiche dei micro piu` recenti.
torno a ripetere: non si prendano come oro colato i risultati seguenti,
ma si contestualizzino (il tipo di macchina, la situazione del momento,
e cosi` via).
per farla breve, ho preso un file:
-rw-r--r-- 1 bungle bungle 85145600 mar 31 14:34 kernel-2.3.99-pre3.tar
da cavia per la prima prova, che riguardava bzip2.
prova 1. compressione con bzip2 compilato per 386
time bzip2 -9 kernel-2.3.99-pre3.tar
real 10m13.385s
user 9m48.480s
sys 0m3.580s
prova 2. stessa compressione, ma compilando bzip2 con le seguenti opzioni
-O3 -mcpu=pentium -march=pentium -static
time /home/bungle/bzip2-static -9 kernel-2.3.99-pre3.tar
real 8m36.469s
user 8m14.220s
sys 0m3.370s
prova 3. decompressione con bzip2 compilato per 386:
time bzip2 -d kernel-2.3.99-pre3.tar.bz2
real 2m20.717s
user 2m6.680s
sys 0m3.820s
prova 4. decompressione con le stesse ottimizzazioni sopra:
time /home/bungle/bzip2-static -d kernel-2.3.99-pre3.tar.bz2
real 2m9.901s
user 1m54.750s
sys 0m4.320s
non male, se si pensa che tutto questo si ottiene semplicemente
ricompilando in un paio di minuti i sorgenti.
il pc in questione e` la mia macchina di casa, un petum 133, con 64 mb
di ram. i test gli ho eseguiti su un hd scsi del 90, o giu` di li`,
il piu` lento che ho. il carico di lavoro, al momento della prova,
era di una cinquantina di processi, ovviamente non tutti attivi,
e una trentina di mb di swap in uso. comunque una normale situazione
di lavoro, almeno nel mio caso, senza nessun accorgimento particolare
per la prova.
ora ho iniziato a fare delle prove con grep e, successivamente
testero` awk, ma i dati che ho ottenuto mi lasciano delle perplessita`
che, fino a che non mi saro` chiarito, non vale la pena postare.
un'ultima nota... abilitare queste opzioni, al momento, in fase
di compilazione del kernel non ha piu` senso. fondamentalmente
per due ragioni: a) la fase di compilazione del kernel abilita
da se` le dovute ottimizzazioni per il micro specificato nel
config[1], e b) l'utilizzo del flag -O3 si rivelerebbe controproducente,
in luogo del -O2, per ragioni che adesso non mi interessa analizzare
(comunque leggendo la man del gcc si puo` capirne il perche`).
salutoni e salutini,
andrea gelmini
---------
[1] invero mi riferisco ai kernel instabili, non so come sia la
situazione del ramo stabili in tal senso.
Maggiori informazioni sulla lista
Lug
|