Compara a compactação: gzipando arquivos individuais versus gzipping tar dos mesmos arquivos

0

Considere um formato de arquivo hipotético que faça o seguinte sob as capas, considerando uma lista de arquivos a serem empacotados:

  1. gzip cada arquivo individualmente
  2. Tar os gzips juntos

Compare isso com o tar tradicional seguido pelo gzip.

Em que circunstâncias, se houver, o primeiro método resultaria em melhor compressão do que o último?

Uma implementação amigável do antigo método permitiria acesso mais rápido a arquivos compactados individuais, bem como acesso imediato ao índice. Então, estou me perguntando sobre as condições sob as quais essas vantagens são compensadas por uma possível redução na compactação devido a não considerar o fluxo de conteúdo como um todo.

    
por arifogel 20.12.2016 / 04:46

1 resposta

0

  1. Cada um dos arquivos compactados possui cabeçalhos próprios e, portanto, reduz a compactação aumentando o número de cabeçalhos. Cada cabeçalho é pequeno, talvez algumas centenas de bytes, mas eles se somam.

  2. Técnicas de compressão usam dicionários, colocar dicionários em cada arquivo também aumenta a sobrecarga. Vários arquivos usarão partes do mesmo dicionário para reduzir o tamanho total do arquivo.

  3. Os dados que não podem ser compactados ou têm uma proporção muito pequena terão um efeito insignificante se forem compactados individualmente.

  4. O tempo que leva para compactar será um pouco mais longo, uma vez que terá que parar, descarregar tudo para o disco e iniciar um novo arquivo (novo cabeçalho, dicionário, etc) para cada arquivo, em vez de anexar dados a 1 arquivo.

  5. Um grande número de arquivos semelhantes, como semanas de arquivos de log sendo compactados, compartilhará dicionários e economizará espaço.

  6. Cada sistema de arquivos usa unidades de armazenamento de tamanho uniforme, em muitos casos 4k, e parte desse 4k é desperdiçada em cada arquivo.

Até que você esteja lidando com milhares ou dezenas de milhares de arquivos, os valores salvos ou perdidos não serão muito com uma ou outra técnica.

    
por 20.12.2016 / 05:15