Acaba de presentarse el KGB Archiver 2.0 beta 1. Habiéndolo probado, reconozco que a nivel de compresión ha avanzado muchísimo comparado con lo que vimos en La verdad sobre el KGB.

Como WinUDA 0.2, KGB estaba basado en el algoritmo PAQ6, pero la versión 2, soporta los algoritmos de compresión PAQ1 a PAQ7, y en breve se añadirá el PAQ8 (como UDA 0.3).

He procedido a hacer una prueba de compresión rápida con los compresores más habituales para ver como quedaba KGB.

Compresor Tiempo (mm:ss) Tamaño
Original N/A 651.865 bytes
WinRAR 3.70 beta 3 (ZIP Best) 00:00 85.736 bytes
7-Zip 4.44 Beta (ZIP Ultra Deflate64) 00:02 75.465 bytes
WinACE 2.65 (ACE 4096K Best) 00:02 76.609 bytes
Pimple 1.25 00:02 72.021 bytes
UHARC 0.6b (-m3 -mm+ -md32768 -md+) 00:01 66.874 bytes
WinRAR 3.70 beta 3 (RAR Best) 00:01 63.192 bytes
7-Zip 4.44 Beta (7z Ultra -557 Mb-) 00:01 59.863 bytes
Squeez 5.5 (Ultra 32 Mb) 00:05 58.576 bytes
UHARC 0.6b (-mx -mm+ -md32768 -md+) 00:01 56.637 bytes
KGB 2 beta 1 (PAQ1 -58 Mb-) 00:04 56.534 bytes
KGB 2 beta 1 (PAQ2 -60 Mb-) 00:05 51.639 bytes
KGB 2 beta 1 (PAQ3 -201 Mb-) 00:06 51.697 bytes
KGB 2 beta 1 (PAQ4 -344 Mb-) 00:14 50.414 bytes
KGB 2 beta 1 (PAQ5 -367 Mb-) 00:20 48.590 bytes
WinRK 3.0.3 Beta (High -480 Mb-) 00:17 46.056 bytes
KGB 2 beta 1 (PAQ6 Very good -406 Mb-) 00:37 45.214 bytes
WinUDA 0.291 Classic (Mode-3 -194 Mb-) 00:15 43.180 bytes
UDA 0.301 00:19 37.932 bytes)
WinRK 3.0.3 Beta (Maximum PWCM -500 Mb-) 02:13 34.221 bytes
KGB 2 beta 1 (PAQ7 Extreme -492 Mb-) 01:27 33.527 bytes
PAQ8D (-6 -450 Mb-) 02:03 30.356 bytes

Como se puede ver, el grado de compresión es excelente, mientras que usando PAQ1-PAQ4 los tiempos de compresión son razonables. De momento WinRK sigue siendo una mejor alternativa, pero parece que el desarrollo últimamente no es demasiado activo, así que habrá que ver como evoluciona KGB.

Hay que remarcar que los algoritmos PAQ, ofrecen tremendos grados de compresión, el precio a pagar es que compresión/descompresión es casi simétrica. Es decir, la velocidad que se tarda en descomprimir es casi la misma que se tardó en comprimir (que habitualmente es mucho tiempo). Por lo que de momento quedan fuera de los algortimos de compresión de datos de propósito general.

Por lo pronto, aunque el motor de compresión está escrito en C++, el interfaz es .NET, lo que le quita algo de agilidad, y llena de runtimes la máquina. Asímismo la falta de una versión nativa x64 impide que se aprovechen los recursos de las máquinas actuales en procesos de cálculo intensivo como es la compresión.

Personalmente me habría conformado con un IDE como el WinUDA junto a algunas optimizaciones al motor 0.301.