Existe algum limite de tamanho para o comando compress?

2

Existe algum limite de tamanho específico após o qual o comando compress funciona?

Como eu sei para o arquivo 0 byte, o comando compress não funciona. Mas hoje eu tentei compactar um arquivo de bytes de tamanho 27 bytes usando o comando compress no UNIX, mas ele não está sendo compactado. O arquivo permanece inalterado.

    
por PriB 16.01.2015 / 20:57

1 resposta

3

Depende do que está no arquivo (a entropia , aproximadamente). Dado conteúdo completamente aleatório compress na verdade faria 1 tornar o arquivo maior, e a maioria das implementações se recusará a fazer qualquer coisa (o -v geralmente informa isso.

Um arquivo que contém inteiramente zero bytes será compactado para um mínimo de 8 bytes na implementação que tenho que entregar. Suponho que esse seja o limite de tamanho, abaixo do qual o número mágico no início do arquivo compactado e a instrução básica "repetir isso N vezes" são maiores que qualquer entrada.

Dado mais conteúdo distribuído de forma útil (como texto), ele varia consideravelmente, mas o limite estará em algum lugar nas dezenas de bytes, pelo menos. Eu não esperaria que um arquivo de texto de 27 bytes fosse compactado, e um arquivo binário arbitrário de 27 bytes ainda menos.

1 Claro, tecnicamente, é aleatório, então ...

    
por 16.01.2015 / 21:22