lundi 22 janvier 2007

1 - Compression sous Linux : introduction des tests

Voici un test réalisé sous linux avec différents outils de compression.
Les fichiers binaires utilisés ont été récupéré sur les sites des différents outils de compression ou compilé par mes soins.
Pour effectuer ces tests j'ai utilisé un fichiers au format PDF (environ 6 Mo) et un fichier Tar (environ 50 Mo) contenant differents paquets debian.

Compression under Linux : tests introduction
Here a test carried out under linux with various utilities for compression.
The binaries files used were found on the sites of the various tools for compression or were compiled by myself.
To carry out these tests I used a file with format pdf (approximately 6 Mo) and a file Tar (approximately 50 Mo) with different debian packages.

2 - Compression sous linux : les logiciels utilisés

Voici les logiciels de compression testés (et leur version) :
Here is the utilities (compressors) used for the tests (and their version)

bbb (ver0. 1) http://cs.fit.edu/~mmahoney/compression/text.html
ctw (v0.1) http://www.ele.tue.nl/ctw/
dark (v0.51) http://darchiver.narod.ru
GRZipII (v0.2.4) http://magicssoft.ru
lrzip (v0.18) http://lrzip.kolivas.org
lzma (v4.43)
lzop (v1.01)
lzpxj (v1.2g)
ocamyd (v1.65 final)
paq8f port linux
p7zip (v4.43 beta)
PPMVC (v1.1)
rzip (v2.1)
xwrt (v3.0)

3 - Compression : résultats paquet debian taille (size)

compresseur taille (options)
compressor size (options)

ocamyd 50447488 (-s0 -m3)
lzpxj 50806241 (1)
lzpxj 50751885 (5)
7-zip 50913532 (a -r0 -mmt=off -m0=LZMA -mx=9)
7-zip 51653028 (a -r0 -m0=ppmd -mx=9)
lrzip 51049650 (défaut)
lrzip 51376106 (-n)
lrzip 51267891 (-l)
lrzip 50932492 (-L9)
xwrt 95644486 (-l6 -b255 -m255 -s -f8)
xwrt 51113908 (-l11 -b255 -m255 -f24)
lzma 51152085 (e -d21 -fb32)
rzip 51232560 (défaut)
rzip 51223434 (-7)
GRZipII 51726666 (défaut)
GRZipII 51499527 (-b8m -m1 -L18 -M47)
ctw 51509787 (défaut)
gzip 51544187 (défaut)
bbb 51570670 (c100)
bbb 51663708 (cm100)
lzop 51722767 (défaut)
lzop 51680061 (-9c)
dark 51916864 (p)

4 - Compression : résultats paquet debian temps (time)

xwrt 0m13.029s (-l6 -b255 -m255 -s -f8)
lzop 0m14.229s (-9c)
lzop 0m2.452s (aucun)
lrzip 0m36.174s (0)
p7zip 0m38.626s (a -r0 -mmt=off -m0=LZMA -mx=9)
xwrt 10m9.622s (0)
ctw 11m50.868s (aucun)
GRZipII 1m11.064s (aucun)
GRZipII 1m14.677s (-b8m -m1 -L18 -M47)
lzpxj 1m35.598s (1)
lzpxj 1m42.226s (5)
p7zip 1m56.659s (a -r0 -m0=ppmd -mx=9)
dark 1m6.388s (p)
ocamyd 27m13.966s (-s0 -m3)
bbb 4m2.975s (cm100)
bbb 7m0.630s (c100)

5 - Compression : résultats PDF mémoire (memory)

utilitaire mémoire moyenne (mémoire maxi) (options)
compressor average memory (max. memory) (options)

lzop 0,1 (max :0,1) (-9c)
lzpxj 0,6 (max :0,7) (1)
GRZipII 1,4 (max :2,7) (defaut)
bbb 1,5 (max :1,5) (cm100)
lzma 1,5 (max :2,1) (e -d21 -fb32)
dark 1,7 (max :2) (p)
p7zip 3,4 (max :3,4) (a -r0 -mmt=off -m0=LZMA -mx=9
ctw 3,5 (max :3,6) (defaut)
rzip 3,9 (max :4,5) (defaut)
lrzip 4,2 (max :6) (0)
lrzip 4,2 5 (defaut)
ocamyd 4,8 (max :5,2) (-s1 -m0)
lzpxj 5,6 (max :5,6) (5)
PPMVC 7,6 (max :7,6) (defaut)
rzip 7,7 (max :7,8) (-9)
7-zip 11 (max :11,7) (a -r0 -m0=ppmd -mx=9)
ocamyd 14 (max :14,7) (-s0 -m3)
paq8f 20,5 (max :21,1) (defaut)
PPMVC 26,3 (max :26,4) (0)

6 - Compression : résultats PDF temps (time)

lzop 0m0.284s (défaut)
gzip 0m0.864s (défaut)
PPMVC 0m10.389s (-m256 -o8 -r1)
lzpxj 0m10.849s (5)
lzop 0m2.700s (-9c)
bbb 0m24.634s (cm100)
rzip 0m3.424s (défaut)
lrzip 0m3.804s (0)
lzma 0m4.088s (e -d21 -fb32)
p7zip 0m4.420s (a -r0 -mmt=off -m0=LZMA -mx=9)
rzip 0m4.508s (-9)
lrzip 0m4.632s (défaut)
dark 0m7.476s (p)
GRZipII 0m7.632s (défaut)
PPMVC 0m9.461s (défaut)
lzpxj 0m9.473s (1)
p7zip 0m9.789s (a -r0 -m0=ppmd -mx=9)
ctw 1m29.602s (défaut)
xwrt 1m8.656s (0)
ocamyd 2m18.821s (-s1 -m0)
ocamyd 3m1.899s (-s0 -m3)
paq8f 39m38.945s (défaut)

7 - Compression : résultats PDF taille (size)

ocamyd 4194630 (-s0 -m3)
ocamyd 4255104 (-s1 -m0)
7-zip 4662782 (a -r0 -mmt=off -m0=LZMA -mx=9)
lzma 4669598 (e -d21 -fb32)
lrzip 4689262 (-L9)
lrzip 4689973 (défaut)
lzpxj 4711494 (5)
xwrt 4713209 (-l11 -b255 -m255 -f24)
PPMVC 4741709 (-m256 -o8 -r1)
lzpxj 4747521 (1)
PPMVC 4754919 (défaut)
7-zip 4784745 (a -r0 -m0=ppmd -mx=9)
rzip 4885697 (-9)
gzip 4885966 (défaut)
GRZipII 4888083 (défaut)
rzip 4892665 (défaut)
lzop 4934241 (-9c)
bbb 4976680 cm100
paq8f 4993795 (défaut)
lzop 5041937 (défaut)
dark 5112127 (p)
ctw 5373069 (défaut)

original 6736136

mercredi 10 janvier 2007

8 - Compression (PDF et deb) : Conclusion

Au niveau taux de compression le grand vainqueur est Ocamyd. Par contre il est très long à compresser et il est assez gourmand en ressources (mémoire) c'est pourquoi je vous le conseille uniquement si vous avez peu de fichiers à compresser.
Si vous voulez un bon compromis taux de compression et vitesse de compression je vous suggère d'utiliser p7zip ou lrzip. Avec une préférence pour ce dernier qui est plus rapide pour la compression (il n'existe pas de version windows). Pour ceux qui utilisent à la fois windows et linux je vous recommande p7zip (le portage linux de 7-zip), bien qu'il soit un peu plus long à compresser.
Si vous avez beaucoup de fichiers à archiver sous linux, je vous conseille également lrzip pour sa rapidité ou le bon vieux gzip si vous avez une petite config.

On the level ratio compression the large winner is Ocamyd. On the other hand it takes a very long time to compress and it is rather greedy in resources (memory) this is why I advise it to you only if you have few files to compress.
If you want a good compromise between ratio compression and speed of compression I suggest you using p7zip or lrzip. With a preference for this last which is faster for compression (there is not Windows version). For those which use at the same time Windows and linux I recommend p7zip to you (linux port of 7-zip), although it takes a little a long time to compress.
If you have many files to archive under linux, I also advise you lrzip for his speed or the good old man gzip if you haven't big PC.