|
|
Linux Benchmarks
Avendo a disposizione una macchina dotata di CPU AMD64 sulla quale sono installate diverse distribuzioni Linux, ho voluto effettuare una prova comparativa delle performances tra codice a 32 e 64 bit, utilizzando una serie di test ad alto grado di number crunching.
I tools utilizzati per effettuare la prova sono stati
- Un semplice crivello di Eratostene per la ricerca dei numeri primi, in range ad ampiezza differente
- Una codifica in mp3 con differenti livelli di applicazione di parametri di qualità attraverso Lame.
- Il set di test che costituiscono il benchmark Scimark
Scimark consiste in una serie di benchmarks computazionali in virgola mobile, dal National Institute of Standards and Technology.
I valori restituiti sono espressi in MFLOPs (milioni di operazioni in virgola mobile al secondo).
La CPU della macchina utilizzata per i benchmarks è costituita da un processore AMD Athlon 64 3200+ a 2GHz (2003.512 MHz) ed ha una cache di secondo livello di 512 KB, mentre la RAM è di 256 Mb.
Inizialmente era dotata di una RAM di dimensioni doppie (512 MB), ma ho dovuto eliminare il secondo banco perchè difettoso, rinunciando così alla modalità dual-channel. Sospetto che in qualche modo ciò possa essere andato a discapito del codice a 64bit, ma non mi sento di azzardare alcuna precisa spiegazione, riservando la verifica di ciò ad una eventuale successiva serie di test con due banchi di memoria).
Lo scopo del test, ripeto, era quello di effettuare una comparazione fra i risultati ottenuti usando due diverse distribuzioni Linux, diversamente ottimizzate, sulla stessa piattaforma.
Le due distribuzioni utilizzate sono state:
- Slackware 9.1, con kernel 2.6.11.11 ricompilato per i686
- Gentoo stage 1, con kernel 2.6.11-gentoo-r7, nativamente "patchato" per AMD64
(Rappresenta attualmente l'unica alternativa, insieme a Ubuntu, alle distribuzioni commerciali come Suse o RedHat per avere un Linux "a 64 bit")
Per la compilazione dei tools di benchmarks sono state utililizzate purtroppo due versioni differenti del compilatore GCC:
- GCC 3.3.5 per la Slackware
- GCC 3.4.3 per la Gentoo
Occorre però precisare che ad oggi è disponibile per la Slackware "current" solamente un compilatore al limite con versione 3.3.6.
|