Me he encontrado con este magnífico post sobre herramientas de compresión. Concretamente, gzip, bzip2 y lzma, el algoritmo que usa el cada vez más famoso 7-zip. Cuando se intenta conseguir la ḿaxima compresión, gzip es, como cabía esperar, el más veloz (lo cual es importante) y el que menos comprime, LZMA el más lento y el que más comprime, y bzip2 se queda en medio de los dos. Nada del otro mundo: A más esfuerzo, más compresión, lo que cabía esperar.
Sin embargo, las conclusiones sorprendentes vienen cuando se varían las opciones: LZMA en su modo de peor compresión es más rápido y comprime más que bzip2 en su modo de mayor compresión. Si se sube un solo punto a lzma, comprime bastante más que bzip2 en solo un poquito más de tiempo. Esto quita todo sentido a la existencia de bzip2...
No creo, bzip2 no va a desaparecer mientras haya .bz2 dando vueltas por ahí. :-)
ResponderEliminarAdemás, lzma no está incluído en el tar (no?), hasta tanto no pueda hacer "tar xvlf xxx.7zip yyy" (siendo l la opción de lzma), no está en mi toolkit.
Saludos
Conocía 7zip, pero no tenía ni idea de lo bueno que era lzma. Estaba haciendo pruebas con el código de gtk-qt-engine, y bzip2 si ha comprimido algo más, con máxima compresión, que lzma -1. Pero supongo que serán casos y casos (el fuente de gtk-qt-engine no es demasiado extenso, ya lo probaré con el kernel y todo eso)
ResponderEliminarAhora habrá que ver como tolera los errores y corrupciones, también importante.
@Marcelo:
Para crear un tar con lzma: tar --lzma -cvf nombre.tar.lzma archivos_a_empaquetar
Para desempaquetar: tar --lzma -xvf nombre.tar.lzma
tar puede funcionar con casi cualquier compresor (hay alguna opción por ahí que lo permite)
La ultima vez que probe LZMA no usaba todos los cores del cpu. Aun le falta mejorar.
ResponderEliminarLzma es el futuro, hasta slackware esta pensando dejar gzip para usar xz que utiliza lzma.
ResponderEliminarSegun mis pruebas personales no hay algoritmo de compresion mejor que este, habria que ver que tan rapido resulta pues gzip vuela