sabato 6 agosto 2011

Un pó di benchmark

Un pó di tempo fa ho eseguito una serie di benchmark su vari computer che ho a disposizione. Ora i benchmark sono stati fatti usando openssl, un programma per il calcolo delle cifre del pi greco e misurando i tempi di compressione con gzip e bzip2 di file di dimensioni variabile, ovviamente questi test non vogliono avere nessuna pretesa di "scientificitá" ma mi servono solo per farmi un'idea delle performance dei vari pc.
Anche qui preciso che mi soffermeró sulle differenze tra le varie architetture hardware a disposizione in quanto un paragone tra un Pentium III e un Core2 Duo non ha molto senso.
Riassumendo lo scopo principale era di capire dove si piazzavano i due portatili sparc che ho, uno a 650Mhz e l'altro a 500Mhz.
Diciamo che le performance misurate con openssl mettono il processore sparc64 a 650Mhz un pó sopra ad un Pentium III a 550Mhz, mentre lo sparc64 a 500Mhz sta decisamente sotto al Pentium.
Lo sheevaplug che monta un processore ARM a 1,2Ghz e' leggermente piú lento dello sparc64 a 500Mhz.
L'esecuzione del programma per il calcolo del pi greco ha dato dei risultati interessanti. Questo programma lo avevo in formato sorgente, non é opera mia per cui non sono in grado di valutarne la bontá del codice, ma ho creato 3 eseguibili, il primo compilato normalmente il seguente con l'opzione di  l'ottimizzazione -O2 e il terzo con -O3. Ovviamente il compilatore é il GCC.
Sul Pentium III i tempi per il calcolo di 50000 cifre del pi greco sono andati da 55 a 43 secondi, 55 senza ottimizzazione e 43 nel caso delle ottimizzazioni.
Lo sparc64 a 500Mhz é partito con 46 secondi senza ottimizzazione per arrivare a 14 con il flag -O3, segnando 19 con il flag -O2. Lo sparc64 a 650Mhz ha fatto rispettivamente 34, 14 e 11 secondi.
Il Pentium IV a 1,7Ghz ha segnato 13, 9 e 9 secondi.
Il PowerPC G4 a 1,2Ghz ha segnato 34, 20 e 20 secondi.
La cosa che mi ha colpito é come sull'architettura x86 con l'ottimizzazione ha guadagnato ma non cosí tanto quanto ha guadagnato lo sparc64.
Nel caso poi dello sparc64 a 650Mhz il primo test lo ha eseguito nello stesso tempo del PowerPC G4 e con il massimo dell'ottimizzazione quasi nella metá del tempo. É notevole se si raffrontano le performance con openssl dove il G4 é quasi il doppio piú veloce dello sparc64.
A questo punto mi domando se GCC su x86 ( e PowerPC ) ottimizza giá in partenza per cui i flag -O2/O3 non fanno guadagnare moltissimo a differenza di quanto accade su sparc64 oppure é GCC su sparc64 che di partenza fa cosí schifo che l'ottimizzazione si fa sentire ?
L'ultimo test usava il comando dd per creare un file di dimensioni variabili da 6,5mega, 13mega, 26mega e 51mega che venivano dati in basto a gzip e bzip2 e veniva calcolato "quanti" byte al secondo venivno compressi.
Il Pentium III ha macinato 620kb/s con gzip e 230kb/s con bzip2.
Lo sparc64 a 500Mhz 1,6mb/s con gzip e 240kb/s con bzip2.
Lo sparc64 a 650Mhz 2,4mb/s con gzip e 350kb/s con bzip2.
Lo sheeva/arm a 1,2Ghz  880kb/s con gzip e 340kb/s con bzip2.
Il PowerPC a 1,2Ghz 2,8mb/s con gzip e 680kb/s con bzip2.
Il Pentium IV a 1,7Ghz 1,4mb/s con gzip e 550kb/s con bzip2.
Il Pentium IV a 3.0Ghz 3,2mb/s con gzip e 880kb/s con bzip2. 
Anche in questo caso si vede come la compressione con gzip dia ottimi tempi con i due sparc64 mentre tale risultato non appare con bzip2.
Come detto fin da subito questi test sono da prendere molto con le pinze peró alcuni risultati sono piuttosto interessanti, certo é che poi é l'utilizzo reale quello che da la sensazione o meno di velocitá della computer.
Per esempio OpenBSD sullo sparc64 a 500Mhz sembra essere molto lento anche usando un ambiente desktop leggero come openbox, di contro con Solaris 10 e CDE sembra piú fluido.
Una cosa peró va detta ..... con Windows anche un I7 sembra lento.
Non centra nulla ma volevo dire una cattiveria su Windows.

Nessun commento:

Posta un commento