[Linux-ug] Packereffizienz

Adrian Bunk bunk at stusta.de
Sa Okt 4 21:35:40 CEST 2008


On Sat, Oct 04, 2008 at 06:28:38PM +0200, Christian Brandt wrote:
> Heute habe ich einen recht einfachen Packertest gemacht und war positiv
> überrascht daß sich einiges getan hat in den letzten zehn Jahren. Ziel
> war es den Mirror eines Blogs zu sichern.
> 
> Das rohe Tar war 800MB groß.
> Gepackt mit gzip satte 100MB.
> Mittels bzip2 rund 30MB.
> 
> Aber jetzt kommts: Rzip produzierte ein Archiv mit weniger als 2MB.
> 
> Und das noch dazu rasend schnell. Oha.
> 
> Und das ist kein Ausreisser, testweises Packen der postfix-Logs eines
> grossen Providers zeigte ähnliche Raten: 1GB unbepackt, 100MB mit gzip,
> 80 mit bzip2, 20 mit rzip.

Daten wie Log-Dateien in denen sich Meldungen haeufig wiederholen
sind natuerlich ein guter Fall fuer rzip.

Aber fuer Daten mit weniger Wiederholungen gibt es keine so grossen
Vorteile.

Beispiel mit den den 2.6.26 Kernelquellen:
- 289576960 linux-2.6.26.tar
-  49441874 linux-2.6.26.tar.bz2
-  47677962 linux-2.6.26.tar.rz
-  40782145 linux-2.6.26.tar.lzma

D.h. in diesem Fall ist die Datei mit rzip komprimiert um 16.9% groesser 
als wenn sie mit LZMA komprimiert wird.

> Und ein Diff zeigt daß die Daten korrekt sind.
> 
> Rzip stammt von Tridgel, dem Autor von Rsync, die Software ist
> allerdings etwas exzentrisch, sie belegt 900MB RAM während des Packens,
> ist dafür aber extrem schnell, fast so schnell wie gzip.
>...

Das "schnell" gilt aber nur in den Faellen in denen rzip sehr gut packen 
kann. Andernfalls hat rzip (aus offensichtlichen Gruenden) eher die 
Geschwindigkeit von bzip2, und ist damit deutlich langsamer als gzip.

> Leider
> unterstützt rzip kein multithreading, da es aber selbst bei Acht Kernen
> schneller als pbzip2 ist kann mir das egal sein. Sie kann nicht mit
> STDIO umgehen. Zum Entpacken sollte man ebenfalls einige 100MB freien
> Speicher haben sonst ist der Packer zu 99% mit Diskseeking beschäftit.

Wenn es dir um die Kompressionsrate geht solltest du dir auch lrzip 
ansehen welches im Grunde rzip ist, aber besser komprimieren kann da
es statt bzip2 auch lzma verwenden kann.

> Christian Brandt

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed




Mehr Informationen über die Mailingliste Linux-ug