pt.phhsnews.com


pt.phhsnews.com / Por que o Zip é capaz de compactar arquivos simples melhor do que vários arquivos com o mesmo conteúdo?

Por que o Zip é capaz de compactar arquivos simples melhor do que vários arquivos com o mesmo conteúdo?


A capacidade de compactar nossos arquivos para facilitar o compartilhamento e / ou o transporte deles pode A vida electrónica é muito mais fácil, mas por vezes podemos ver resultados de tamanhos estranhos ou inesperados depois de os compactarmos. Por que é que? A postagem de perguntas e respostas do SuperUser de hoje tem as respostas para as perguntas de um leitor confuso.

A sessão de perguntas e respostas de hoje nos é oferecida por SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas.

Foto cedida por Jean-Etienne Minh-Duy Poirrier (Flickr).

A pergunta

SuperUser reader sixtyfootersdude quer saber porque o zip é capaz de compactar arquivos individuais melhor do que vários arquivos com o mesmo tipo de conteúdo:

Suponha que eu tem 10.000 arquivos XML e deseja enviá-los para um amigo. Antes de enviá-los, gostaria de compactá-los.

Método 1: Não compactá-los

Resultados:

Método 2: Compactar cada arquivo separadamente e enviá-lo 10.000 arquivos XML compactados

Comando:

Resultados:

Método 3: Criar um único arquivo Zip contendo todos os 10.000 arquivos XML

Comando:

Resultados:

Método 4: Concatenar os arquivos em um único arquivo e Zip It

Comando:

Resultados:

Perguntas

  • Por que obtenho resultados tão melhores quando estou apenas fechando um único arquivo?
  • Esperava obter resultados drasticamente melhores usando o método 3 em vez do método 2, mas não. Por que isso é
  • Este comportamento é específico para zip? Se eu tentasse usar o Gzip, obteria resultados diferentes?

Informações Adicionais

Meta Data

Uma das respostas dadas sugere que a diferença são os metadados do sistema armazenados no arquivo zip. Eu não acredito que isso possa ser o caso. Para testá-lo, fiz o seguinte:

O arquivo zip resultante é de 1,4 MB. Isso significa que ainda há aproximadamente dez MB de espaço inexplicado.

Por que o zip é capaz de compactar arquivos individuais melhor do que vários arquivos com o mesmo tipo de conteúdo?

Os colaboradores Alan Shutko e Aganju do SuperUser da Resposta

têm a resposta para nós. Primeiro, Alan Shutko:

A compactação Zip é baseada em padrões repetitivos nos dados a serem compactados, e a compactação fica melhor quanto mais tempo o arquivo estiver, pois mais e mais padrões podem ser encontrados e usados.

Simplificado, se você compactar um arquivo, o dicionário que mapeia códigos (curtos) para padrões (mais longos) é necessariamente contido em cada arquivo zip resultante; se você zipar um arquivo longo, o dicionário é reutilizado e se torna ainda mais eficaz em todo o conteúdo.

Se seus arquivos são um pouco parecidos (como o texto sempre é), a reutilização do 'dicionário' se torna muito eficiente. o resultado é um arquivo zip total muito menor.

Seguido pela resposta de Aganju:

Em zip, cada arquivo é compactado separadamente. O oposto é compactação sólida , ou seja, os arquivos são compactados juntos. 7-zip e Rar usam compactação sólida por padrão. Gzip e Bzip2 não podem comprimir múltiplos arquivos, então o Tar é usado primeiro, tendo o mesmo efeito da compressão sólida

Como os arquivos xml têm estrutura similar (e provavelmente conteúdo similar), se os arquivos forem compactados juntos a compressão será maior

Por exemplo, se um arquivo contiver a string “ ” e o compressor já encontrar essa string em outro arquivo, ele será substituído por um pequeno ponteiro para a correspondência anterior. Se o compressor não usar compactação sólida, a primeira ocorrência da string no arquivo será registrada como um literal , que é maior.


Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui.


O Guia do Iniciante do OneNote no Windows 10

O Guia do Iniciante do OneNote no Windows 10

A Microsoft reformulou muitos de seus aplicativos internos para corresponder tanto à estética de design quanto à funcionalidade aprimorada no Windows 10, e o que obtivemos no novo O OneNote não é diferente. Se você já é um cliente dedicado de produtos concorrentes, como o aplicativo de desktop Evernote, muitos dos recursos fornecidos pela resposta da Microsoft para anotações rápidas já parecerão familiares.

(how-to)

Como verificar o RPM do seu disco rígido?

Como verificar o RPM do seu disco rígido?

Você recebeu recentemente um novo computador ou tem um mais antigo por aí e queria descobrir o RPM do disco rígido? Apesar de muitos laptops mais novos virem com SSDs (drives de estado sólido), a maioria dos desktops e a maioria dos laptops ainda usam discos rígidos de discos tradicionais.Se você tiver um computador mais antigo, talvez esteja pensando em substituir um disco rígido mais lento por um mais rápido. Mesmo

(How-to)