¿Cómo puedo especificar que los archivos de orden deben estar comprimidos en 7zip?

6

Tengo un conjunto de archivos que me gustaría comprimir que sé que son repetitivos y compresibles, pero 7zip elige un orden no óptimo para comprimir los archivos y no aprovecha su capacidad de compresión. ¿Cómo puedo obtener 7zip para comprimir los archivos en otro orden?

Los archivos que quiero comprimir son los siguientes:

  • Un PDF de 200 MB que contiene una gran cantidad de archivos JPG incrustados
  • 190 MB de archivos JPG, todos los cuales están incorporados por separado en el PDF
  • Alrededor de 500 MB de otros varios compresible moderadamente archivos

Sé que es posible que 7zip aproveche la repetición entre el PDF y los JPG simples, porque cuando archivo los PDF y los JPG juntos, obtengo una relación de compresión del 47%. Pero cuando trato de incluir los 500 MB de otros archivos, 7zip comprime primero los archivos JPG, luego los otros datos misceláneos, y en el momento en que llega al PDF, el algoritmo de compresión debe haberse "olvidado" de los JPG porque el PDF es difícilmente comprimido en absoluto.

Con 7-zip 9.32 alpha, usando el formato de archivo 7z, el nivel de compresión ultra, el algoritmo LZMA2, el tamaño del diccionario de 256MB, el tamaño de 128 palabras, el tamaño de bloque sólido de 4GB y 2 subprocesos de CPU, obtengo las siguientes relaciones de compresión:

  • Sólo PDF: 93%
  • Sólo JPG: 95%
  • PDF y JPG juntos: 47%
  • Misceláneo solo archivos: 44%
  • Misceláneo Archivos y PDF: 55%.
  • Misceláneo Archivos y PDF y JPGs: 63%.

Desde lo misc. los archivos se pueden comprimir a un 44% de su tamaño original, y los archivos PDF y JPG juntos se pueden comprimir a un 47%, esperaría que todos juntos fueran compresibles en algún lugar en el extremo inferior del 44-47%, pero debido al mal ordenamiento de Archivos por 7zip, obtengo un resultado significativamente peor.

He intentado alterar el orden 7zip comprime archivos jugando con la creación de archivos, la modificación y las fechas de acceso. He intentado mover los archivos a otra carpeta y volver a copiarlos para que se vuelvan a escribir en el disco de forma consecutiva. Incluso he intentado archivar todos los archivos JPG en un archivo zip con compresión a nivel de tienda, para que su tamaño de archivo coincida aproximadamente con el PDF. No importa lo que haga, parece que no puedo hacer 7zip para comprimir el PDF y los JPG sin los misc. archivos intermedios.

¿Algunas ideas? No puedo aumentar el tamaño del diccionario debido a limitaciones de memoria.

Sam Page
fuente

Respuestas:

4

Me las arreglé para resolver este problema. La solución fue crear un archivo que contenga solo los archivos misceláneos, y luego seleccionar "agregar al archivo" en el menú contextual del explorador mientras se seleccionan tanto el PDF como los JPG. En el cuadro de diálogo "Agregar al archivo" de 7zip, elegí la misma configuración de compresión y el mismo nombre de archivo que antes.

Esto comprimió el PDF y los JPG juntos, aprovechando al máximo su redundancia, y luego los agregó al archivo existente. Resultó en una relación de compresión general del 45%, exactamente lo que estaba buscando.

Sam Page
fuente
0

Los archivos PDF y JPG están comprimidos. Es mucho más difícil comprimir un archivo ya comprimido que uno sin comprimir. Así que no, el algoritmo de compresión no se está "olvidando", es más parecido a lanzar un archivo zip en otro archivo zip (muy poco sucede en la compresión).

Isiah Meadows
fuente
1
Como ya mostré, 7zip ES puede aprovechar la repetición entre los JPG y el PDF que contiene copias incrustadas de los mismos JPG.
Sam Page
Los PDF comprimen sus copias locales de los JPEG, lo que hace que las dos copias (una dentro y otra fuera) sean muy diferentes en formato binario.
Isiah Meadows
Y sin embargo, cuando archivo el PDF y los JPG juntos, dos copias de la misma imagen, 7zip es capaz de detectar la duplicación y comprimir los archivos hasta un 47% de su tamaño original, más pequeño que el PDF o los JPG solo.
Sam Page
1
Comprime solo el archivo PDF primero. Luego, abra ese archivo recién creado en 7zip y haga clic y arrastre los archivos JPG en él. Finalmente, haga clic y arrastre los archivos no relacionados en él.
user294732
1
Parece que cada vez que agrega archivos a un archivo existente, 7zip aprovecha la redundancia entre los nuevos archivos e ignora por completo los archivos que ya se encuentran en el archivo. Por esa razón, su solución de agregar el PDF por separado de los archivos JPG no funcionó, usuario 294732, pero me llevó a la solución correcta que era crear un archivo que contenga solo el misc. archivos, luego agregar los PDF y JPG en una sola operación. Presumiblemente creando un archivo de solo el PDF y los JPG, luego agregando el misc. Los archivos también funcionan.
Sam Page