Hoy ha tocado colocar un poco el disco duro, y en estas que me da por mirar cuánto ocupa el directorio
donde guardo todo el correo que recibo (desde hace años, incluído spam). 1.8G suman todos los correos. Casi nada, teniendo en cuenta que es texto plano.
Buceando en ese directorio llego al fichero
de una de mis cuentas de correo. Todo lo que almacena está en formato mbox, que es lo que habitualmente usan los lectores de correo (o MUAs, Mail User Agent). Los MTAs (Mail Transport Agent) suelen usar el formato Maildir ya que evita el cuello de botella que impone mbox ante la concurrencia.
El caso es que me da por mirar a ver qué tal comprimen los diferentes algoritmos de compresión que tengo en Linux, que son básicamente cuatro: bzip2, LZMA (7zip y versiones nuevas del tar), el tradicional Zip (herramientas zip y gzip) y RAR.
Me he centrado sólo en el ratio de compresión de cada programa, no me he preocupado por cuánto tardan en comprimir, ni cuánto se tarda en listar el contenido de un fichero, o en descomprimir un sólo fichero. De hecho es que no he diferenciado entre formatos que comprimen y archivan a la vez, y los que sólo comprimen (p.ej.
). He comprimido un sólo fichero, y era un fichero de texto (en formato
).
Los resultados para un solo fichero
de 118M:
Programa Algoritmo Tamaño ¿Libre? gzip -9 LZ77 modificado 65M Sí zip -v9 LZ77 modificado 65M Sí bzip2 Burrous-Wheeler/Huffman 63M Sí rar LZSS 56M No 7-zip LZMA 54M Sí tar –lzma LZMA 54M Sí
Con ¿Libre? me refiero a si yo conozco implementaciones libres del algoritmo tanto para comprimir como para descomprimir.
El LZ77 modificado también se conoce como DEFLATE.
Se concluye lo que más o menos ya habíamos observado a base bajarnos discos:
es el que más comprime (y es libre),
no se queda muy lejos (pero no es libre, aunque es bastante multiplataforma),
mejora un poco lo del tradicional
, pero éstos dos ya van teniendo que jubilarse.
Las únicas ventajas que tienen
son a) que aparentemente tardan menos en comprimir (lógico) y b) que están mucho más difundidos: es difícil encontrar un sistema que no tenga alguno de los tres.
en cambio, es más difícil de encontrar.
Update (2009-02-17): Hoy en barrapunto.com han publicado Comparación entre diferentes algoritmos de compresión en Linux . Una noticia que enlaza a tres sitios donde han hecho comparativas similares, pero mucho más extensas: