Presentando cmix_gui – otro entorno gráfico para otro programa de compresión de archivos
Saludos a todos,
Hoy ha sido otro día de programación para mí. Habrán notado que he escrito 2 posts en inglés en los pasados días sobre cmix_gui. Hoy, les escribo el post en español.
cmix_gui es un entorno gráfico para una herramienta de compresión de archivos llamada cmix. Éste es un programa que comprime archivos mucho mejor que otros programas de compresión debido a sus avanzados algoritmos y modelos implementados.
cmix fue escrito por Byron Knoll y es de código abierto. Su repositorio en GitHub lo pueden ver presionando aquí.
Hubo un tiempo en el cual estuve adicto a estos programas creados por la gente, en donde también compiten en los llamados «compression benchmarks» para ver cual herramienta comrime mejor los archivos.
Al entrar al foro encode.su, encontré esta herramienta y decidí probarlo. Algo que me llamó la atención es su uso de memoria, el cual en el repositorio se recomienda usar 32GB de RAM. No obstante, esto viene con resultados impresionantes, pero también te pone a probar tu paciencia, pues el proceso de comprimir toma mucho tiempo.
El programa luce así en la línea de comando:
Es muy facil de usar, pues sólamente le pasas el argumento -c
para comprimir, seguido del archivo de entrada (el que quieres comprimir) y el archivo de salida (el archivo comprimido). Similarmente, para descomprimir, usas el argumento -d
seguido por el archivo comprimido y el nombre que le quieres dar al archivo descomprimido. Ahora bien, para archivos que incluyen textos, puedes pasarle un diccionario antes de escribir el archivo de entrada. Esto podría mejorar la compresión del archivo. También al usar el diccionario, puedes usar el argumento -s
para preprocesar el archivo.
No a todos les gusta usar la línea de comando, y es por eso que en estos días escribí el entorno gráfico cmix_gui, el cual al día de hoy luce así:
Y en español:
Para usar el entorno gráfico, símplemente se lanza el programa, marcas en Comprimir, buscas un archivo o carpeta, luego un lugar para almacenar el archivo comprimido (sólo si seleccionaste un archivo), seleccionas la versión a usar (Actualmente, sólo tiene la versión 15b que es la última en estos momentos), y marcas si quieres usar el diccionario. Esto puede mejorar la compresión en archivos de textos. Luego, presiona en Comenzar y espera a que el archivo se comprima.
En el caso de las carpetas, los archivos se comprimen individualmente pues cmix no cuenta con la habilidad de comprimir carpetas completas. En esto, el programa automatiza este proceso así que puedes, por ejemplo, copiar todos los archivos que deseas comprimir en una carpeta, pasas la carpeta al programa, y comprimes tus archivos.
Tambien puedes arrastrar el archivo o carpeta que deseas comprimir en el entorno gráfico.
Para preprocesar los archivos, el mismo proceso aplica.
Para descomprimir archivos, buscas un archivo comprimido. En este caso, la versión y el uso de diccionario se ajustarán de acuerdo a la extensión del archivo. Símplemente busca un lugar para almacenar el archivo descomprimido y presiona en Comenzar. En el caso de las carpetas con archivos comprimidos, los archivos se descomprimirán en el mismo lugar donde se encuentra el archivo comprimido y el nombre será el mismo pero sin la extensión .cmix15b
o .cmix15b_dict
.
Cuando el proceso de compresión/preprocesamiento/extracción está corriendo, verás la siguiente ventana:
Cuando el proceso termina, verás el siguiente mensaje:
Aquí les muestro una tabla con pruebas que he obtenido con este programa:
Formato | Size |
---|---|
PDF (original) | 1,019,076 bytes |
7z | 942,720 bytes |
RAR | 942,049 bytes |
ZIP | 941,627 bytes |
cmix v15b con la opción del diccionario activada | 647,512 bytes |
Y aquí otra prueba:
Formato | Size |
---|---|
PNG (original) | 256,350 bytes |
7z | 241,472 bytes |
RAR | 242,221 bytes |
ZIP | 242,109 bytes |
cmix v15b | 235,754 bytes |
Como ven, el mejor resultado es usando cmix.
Y si no creen la tabla, aquí están las capturas de pantallas del Windows Explorer con sus respectivos archivos:
Recuerda
- Este compresor requiere mucha memoria. Se recomienda 32GB de RAM como mínimo, aunque correrá con 16GB de RAM pero usará el «pagefile».
- El compresor es experimental. No lo uses para guardar información importante
- La velocidad de comprimir y descromprimir es simétrico.
- Debes usar la misma versión y opciones que usaste para comprimir o preprocesar cuando vayas a descomprimir el archivo. El programa hace esto por tí pero no lo hará si cambias la extensión del archivo.
Espero que este programa sea útil. Pruebalo y déjame saber qué opinas al respecto.
Descarga:
El repositorio de cmix_gui es el siguiente:
https://github.com/moisespr123/cmix_gui
Puedes descargar el programa en el siguiente enlace:
https://github.com/moisespr123/cmix_gui/releases
Este programa fue escrito en Visual Basic .NET usando Visual Studio 2017.
A continuación, los commits realizados en el día de hoy:
Otros recursos:
- Repositorio de cmix: https://github.com/byronknoll/cmix
- Discusión del compresor cmix en el foro encode.su: https://encode.su/threads/1925-cmix
- Página oficial de cmix: http://www.byronknoll.com/cmix.html