jump to navigation

bzip2 vs pbzip2 – Il benchmark! mercoledì 20 febbraio 2008

Posted by lele85 in Arch, benchmark, curiosità, Software libero.
trackback
compressione
Metodi alternativi di compressione… 😛

Girando sul forum di archlinux.it mi sono imbattutto in un post in cui si parla di decompressione parallela e dei vantaggi che questa può portare.
Da buon curioso smanettone quale sono ho deciso di testare con mano la differenza di prestazioni prelevando pbzip2 da AUR (pbzip2 è una versione di bzip2 studiata per funzionare su sistemi multicore o multiprocessore) e compilandolo.
Ecco i risultati ottenuti con un file da 350MB.

Compressione con BZIP2:
[lele85@lele-box Season 2]$ time bzip2 test.avi
real 3m44.755s
user 3m17.900s
sys 0m2.203s

Decompressione con BZIP2:
[lele85@lele-box Season 2]$ time bunzip2 test.avi.bz2
real 1m44.236s
user 1m23.538s
sys 0m2.183s

Compressione con PBZIP2:
[lele85@lele-box Season 2]$ time pbzip2 test.avi
real 2m3.316s
user 3m44.402s
sys 0m6.756s

Decompressione con PBZIP2:
[lele85@lele-box Season 2]$ time pbunzip2 test.avi.bz2
real 0m59.269s
user 1m29.474s
sys 0m4.100s

Le prestazioni come vedete sono nettamente migliori.
Per capire meglio di cosa stiamo parlando ho anche preparato un piccolo grafico:

pbzip vs bzip

Nel mio caso con un semplice centrino duo T2050 a 1.6Ghz il risparmio in termini di tempo è stato di circa il 31,85% per la compressione e 43,14% per la decompressione.

Niente male direi! 😀

Annunci

Commenti»

1. monolite - mercoledì 20 febbraio 2008

Niente male no:) miseria…questa si che è un’ottima segnalazione considerando il fatto che se voglio comprimere, per esempio un dvd-9, spezzandolo in più archivi, il tempo guadagnato fa comodo…
da questa tua analisi si evince una cosa: l’ottimizzazione dovrebbe essere sempre presente nella testa dei programmatori e linux ne è l’esempio più lampante; macchine obsolete riescono a fare cose che un Vista con 16 giga fa ma con prestazioni scadenti. Un altro esempio che mi viene in mente in ottimizzazione è quello della PS2 che riesce ancora a far cose egregie.:)

2. Andrea Olivato - mercoledì 20 febbraio 2008

Interessantissimo articolo…mi chiedo che succeda con un bel phenom.

3. KingRA - mercoledì 20 febbraio 2008

Quoto in tutto e per tutto monolite.
Evviva l’ottimizzazione.

4. DnaX - mercoledì 20 febbraio 2008

E’ possibile integrare i benefici di PBZIP2 in FileRoller? così da non usare sempre la riga di comando…

5. Luigi Molinaro - mercoledì 20 febbraio 2008

Nel comando time che differenza c’è tra real user e sys ?
Grazie

6. lele85 - mercoledì 20 febbraio 2008

@Luigi
(Real)Tempo reale trascorso tra invocazione e termine

(user)Tempo utente della CPU (la somma dei valori di tms_utime e tms_cutime in formato struct tms come viene restituito dal comando times)

(system)Tempo di sistema della CPU (la somma dei valori di tms_stime e tms_cstime in formato struct tms come viene restituito dal comando times)

Questo direttamente da man time 😀

@DnaX
Non ho idea ma vedrò di informarmi a riguardo! 😉


Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: