es.phhsnews.com


es.phhsnews.com / ¿Por qué Zip es capaz de comprimir archivos individuales mejor que varios archivos con el mismo contenido?

¿Por qué Zip es capaz de comprimir archivos individuales mejor que varios archivos con el mismo contenido?


Ser capaz de comprimir nuestros archivos para que sea más fácil compartirlos y / o transportarlos puede hacer que nuestro La vida electrónica es mucho más fácil, pero a veces podemos ver resultados de tamaño extraños o inesperados después de que los comprimimos. ¿Porqué es eso? La publicación de preguntas y respuestas SuperUser de hoy tiene respuestas a las preguntas confusas de un lector.

La sesión de preguntas y respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, una agrupación de sitios de preguntas y respuestas impulsada por la comunidad.

Foto cortesía de Jean-Etienne Minh-Duy Poirrier (Flickr).

The Question

SuperUser reader sixtyfootersdude quiere saber por qué zip puede comprimir archivos individuales mejor que varios archivos con el mismo tipo de contenido:

Supongamos que tiene 10,000 archivos XML y desea enviarlos a un amigo. Antes de enviarlos, me gustaría comprimirlos.

Método 1: No los compres

Resultados:

Método 2: comprime todos los archivos por separado y envíale 10.000 archivos XML comprimidos

Comando:

Resultados:

Método 3: cree un archivo zip único que contenga todos los 10 000 archivos XML

Comando:

Resultados:

Método 4: Concatenar los archivos en un solo archivo y comprimirlo

Comando:

Resultados:

Preguntas

  • ¿Por qué obtengo resultados tan dramáticamente mejores cuando estoy comprimiendo un solo archivo?
  • Esperaba obtener resultados drásticamente mejores usando el método 3 en lugar del método 2, pero no haga. ¿Por qué es esto?
  • ¿Este comportamiento es específico de zip? Si intenté usar Gzip, ¿obtendría resultados diferentes?

Información adicional

Metadatos

Una de las respuestas dadas sugiere que la diferencia está en los metadatos del sistema que se almacenan en el archivo zip. No creo que este sea el caso. Para probarlo, hice lo siguiente:

El archivo zip resultante es de 1,4 MB. Esto significa que todavía hay aproximadamente diez MB de espacio inexplicado.

¿Por qué comprimir comprimir archivos individuales es mejor que varios archivos con el mismo tipo de contenido?

Los contribuyentes SuperConvertidor Alan Shutko y Aganju de Answer

tienen la respuesta para nosotros Primero, Alan Shutko: la compresión de compresión

se basa en patrones repetitivos en los datos que se van a comprimir, y la compresión mejora cuanto más largo es el archivo, a medida que se pueden encontrar y usar patrones más largos y más largos.

Simplificado si comprime un archivo, el diccionario que correlaciona los códigos (cortos) con los patrones (más largos) está necesariamente contenido en cada archivo zip resultante; si comprime un archivo largo, el diccionario se 'reutiliza' y crece incluso más eficaz en todo el contenido.

Si sus archivos son incluso un poco similares (como siempre lo es el texto), la reutilización del 'diccionario' se vuelve muy eficiente y el resultado es un archivo zip total mucho más pequeño.

Seguido de la respuesta de Aganju:

En zip, cada archivo se comprime por separado. Lo opuesto es compresión sólida , es decir, los archivos se comprimen juntos. 7-zip y Rar usan compresión sólida por defecto. Gzip y Bzip2 no pueden comprimir varios archivos, por lo que Tar se usa primero, teniendo el mismo efecto que la compresión sólida.

Como los archivos xml tienen una estructura similar (y probablemente contenido similar), si los archivos se comprimen juntos la compresión será mayor .

Por ejemplo, si un archivo contiene la cadena " " y el compresor ya encontró esa cadena en otro archivo, la reemplazará con un pequeño puntero a la coincidencia anterior. Si el compresor no utiliza compresión sólida, la primera aparición de la cadena en el archivo se registrará como un literal , que es más grande.


¿Tiene algo que agregar a la explicación? Suena apagado en los comentarios. ¿Desea leer más respuestas de otros usuarios de Stack Exchange expertos en tecnología? Consulte el hilo de discusión completo aquí.


Cómo reorganizar u ocultar los botones de extensión en la barra de herramientas de Chrome

Cómo reorganizar u ocultar los botones de extensión en la barra de herramientas de Chrome

Algunas extensiones de Google Chrome agregan un botón al lado derecho de la barra de herramientas, que generalmente proporciona acceso a las funciones principales de la extensión. Estos botones se agregan en el orden en que se instalaron las extensiones, y ese orden puede no ser de su agrado. Afortunadamente, Chrome ahora hace que sea fácil reorganizar los botones de extensión en la barra de herramientas.

(how-to)

Cómo habilitar (y solucionar problemas) Acceso remoto a su servidor de medios Plex

Cómo habilitar (y solucionar problemas) Acceso remoto a su servidor de medios Plex

La función de acceso remoto de Plex Media Server generalmente es tan fácil de configurar que es prácticamente mágico. Pero si tiene problemas para acceder a sus películas desde lejos, estamos aquí para ayudarlo. Si usa principalmente Plex Media Server para ver contenido en su red local (como transmitir sus programas favoritos a su HDTV o teléfono inteligente), es posible que no haya dado mucho de los beneficios del acceso remoto.

(how-to)