Está en la página 1de 2

COMPRESIÓN

El programa tar, es usado para almacenar archivos y directorios en un solo archivo sin perder sus 
permisos ni la estructura en el sistema de archivos. El formato fue diseñado para almacenar archivos 
de una forma conveniente en cintas magnéticas y de allí proviene su nombre, que proviene de "Tape 
ARchiver" (en inglés: archivador en cinta).

Compresor Comando utilizado Multiproceso (SMP)


Bzip2 bzip2 ­zc9 entrada > salida No
PBzip2 pbzip2 ­zc9 entrada > salida Si
Gzip gzip ­9c entrada > salida No
P7z (7z) 7za a ­t7z salida entrada Si
P7z (zip) 7z a ­tzip salida entrada Si
Rar rar a ­m5 salida entrada No
El hecho de que soporten multiproceso, favorece a los ordenadores de doble núcleo y/o procesador.
Los distintos algoritmos de compresión, pueden funcionar mejor o peor según el tipo de datos que estemos comprimiendo. Por ejemplo, no es lo 
mismo comprimir 100MB de texto (donde las repeticiones son numerosas) que un binario o un archivo de audio. La siguiente tabla muestra los 
tipos de archivo que se han utilizado.
Tipo Tamaño (KB) Descripción
Código Fuente 278276 El código fuente de Linux empaquetado: linux­2.6.25.4.tar
Audio 320796 Un archivo de audio no comprimido: musica.wav
Binario 203736 Binario generado con: "cat /usr/bin/* > binario.bin [CTRL+C]"
ISO (comprimido) 163556 Archivo ISO de Debian: debian­40r3­i386­netinst.iso (generalmente comprimido)
Texto de zeros 2045432 Archivo de texto con solo zeros: "cat /dev/zeros > zeros [CTRL+C]"
Imagen 20688 Imagen sin comprimir: imagen.bmp

Tiempo que ha tardado la compresión en segundos.
bzip2 pbzip2 gzip 7z (7z) 7z (zip) rar
Código 51,74 29,47 39,02 198,3 67,28 89,76
Audio 23,43 13,72 10,61 48,06 26,02 54,04
Binario 41,2 24,09 88,95 86,33 43,62 54,04
ISO 48,46 34,32 10,98 60,55 14,25 133,64
Zeros  51,78 46,58 21,76 224,49 207,9 211,86
Imagen 4,23 2,73 1,97 12,58 4,07 4,81

Tiempo de compresión para cada compresor, donde cuanto menor es, mejor es. Como podemos ver, el compresor más rápido es pbzip2 
seguido muy de cerca por gzip. Hay que tener en cuenta que pbzip2 tiene soporte SMP, mientras que gzip no. Esto hace pensar que una versión 
de gzip con soporte multiproceso, se llevaría la palma. 
El más lento, es claramente 7z con su propia compresión 7z. Donde da peor resultado es en la compresión de texto (código y zeros).
El archivo de zeros es en general, el que más tiempo requiere. Aunque hay que tener en cuenta la cantidad de los datos (2GB) y el enorme ratio 
de compresión que se consigue. No obstante, esta gráfica no sirve para comparar el tiempo de los distintos archivos, ya que cada uno tiene un 
tamaño distinto.

Ratio de compresión sobre 100: 100­(Tamaño comprimido/Tamaño original)*100.Ratio = "se ha reducido un X% del tamaño original". 
Por ejemplo, se ha reducido un 80% del tamaño original: 300*80/100=240. El nuevo archivo ocupa 60.
bzip2 pbzip2 gzip 7z (7z) 7z (zip) rar
Código 82,93 82,85 78,39 85,4 79,05 85,6
Audio 86,71 86,7 86,77 87,39 86,74 88,61
Binario 63,04 62,86 59,53 59,53 60,56 75,57
ISO 2,88 2,88 3,24 3,99 3,22 4,18
Imagen 48,88 48,86 33,49 49,52 37,43 60,83

­1­
COMPRESIÓN
Nota: en el estudio del ratio se ha decidido prescindir del archivo "zeros", ya que todos los ratios superan el 99,99%. Seguidamente se muestra el 
tamaño del archivo zeros comprimido con los diferentes compresores teniendo en cuenta que el tamaño original de zeros: 2045432KB = 2GB.
Compresor Tamaño comprimido (KB)
bzip 4
pbzip 4
gzip 1988
7z (7z) 296
7z (zip) 2404
rar 144
Ratio de compresión para cada compresor, donde cuanto mayor es, mejor es.

En el ratio de compresión, rar es quien obtiene mejores resultados. Sobretodo para el binario y la imagen, en relación al resto. Mientras que gzip se 
queda levemente en última posición, siguiendo muy de cerca a zip.
Sorprendentemente el tipo de archivo que obtiene más compresión es el de audio, y en segundo lugar, como es de esperar el código fuente. 
La imagen ISO es la que ofrece peor ratio, ya que generalmente es un archivo comprimido.
Estas gráficas representan la relación del tiempo con el ratio de compresión. De esta manera puede verse cual es el mejor compresor 
ratio/tiempo donde cuanto mayor es, mejor es.

En las dos primeras posiciones encontramos pbzip2 y gzip. Como podemos observar en las gráficas anteriores, superan al resto en tiempo, 
mientras que en el ratio no son los mejores pero se mantienen. 
El peor es claramente 7z, aunque ofrece ratios bastante buenos demora excesivo tiempo.
Esta gráfica no nos sirve para comparar los parámetros ratio/tiempo entre los distintos tipos de archivos, ya que cada uno de ellos tiene un 
tamaño distinto, y por lo tanto el tiempo no es comparable.
Para finalizar, un pequeño gráfico donde se observa que tipo de archivo ofrece un mejor ratio 
de compresión. Se ha calculado la media donde cuanto mayor es, mejor es.
Realmente todos, menos la ISO, ofrecen un buen ratio de compresión. Sobretodo el audio 
(86%) y el código fuente (83%).
Como conclusión se puede decir que este estudio puede ofrecer una idea de los ratios y 
tiempos, pero lo ideal sería hacerlo con varios archivos del mismo tipo. Ya que estamos 
generalizando todos los archivos de audio (por ejemplo) en uno solo. Y no todos son iguales.
A la pregunta: "¿según esto, cuál es el mejor compresor?", la respuesta es ¡depende!. Si lo que 
buscamos es velocidad cosa que puede ser útil en, por ejemplo, un juego que necesita 
constantemente descomprimir texturas lo más rápido posible: pbzip2 o gzip.
Si lo que buscamos es ratio de compresión para, por ejemplo, enviar un archivo vía internet, 
rar. El ratio también depende del tipo de archivo, según los datos con que hemos hecho el 
estudio, para binarios, imágenes y audio el mejor es rar, mientras que para código fuente 7z. Si 
tenemos que decir cual es el mejor en la relación tiempo/compresión, gzip lo es. Teniendo en 
cuenta que es monoproceso, ofrece una velocidad más que excelente, además de buenos 
ratios (no los mejores, pero se mantiene cerca de la media). Además existe ya un proyecto 
para añadirle soporte SMP llamado pigz. Y el peor es zip aunque, en general, no se queda 
excesivamente atrás.

­2­