O que aconteceu com o bzip1?

40

O bzip2 era um padrão de fato para uma compressão bastante forte ao longo de muitos anos. Eu mesmo havia digitado o bzip2comando milhares de vezes até agora, o que me faz pensar - o que aconteceu com o bzip ou bzip1? O Google parece não me dizer muito sobre isso e parece que pode ser uma lição de história interessante.

d33tah
fonte

Respostas:

32

Parece que o original bzipfoi retirado por volta de 1998 devido a problemas de patente com a compressão aritmética usada. Um pouco de escavação (na verdade, apenas lendo a Wikipedia) gera um link arquivado para o bzip2site a partir dessa época .

Aqui está a seção relevante detalha esta e outras diferenças:

Como isso se relaciona com sua oferta anterior (bzip-0.21)?

O bzip2 é uma versão reescrita e reprojetada da 0.21. Parece superficialmente bastante semelhante, mas foi quase totalmente reescrito (várias vezes :-). As diferenças importantes são:

  • Sem patentes! (Espero; veja a declaração acima). bzip-0,21 usou codificação aritmética; O bzip2 usa a codificação Huffman, que geralmente é considerada não problemática do ponto de vista da patente. Ambos os programas são baseados na transformação Burrows-Wheeler, mas, pelo que sei, isso também não é patenteado.

  • Mais rápido, particularmente na descompressão. O bzip2 descomprime mais de 50% mais rápido que 0,21, principalmente devido ao uso da codificação de Huffman. Também melhorei a velocidade de compactação, embora não tanto - talvez compacte 30% mais rápido que 0,21.

  • Recuperação de erros de mídia. Ambos os programas compactam dados em blocos, por padrão, com 900k de comprimento. Com o bzip2, cada bloco é tratado de forma completamente independente, carrega sua própria soma de verificação e é delimitado por uma sequência de 48 bits. Portanto, se você tiver um arquivo compactado danificado, o bzip2 poderá extrair os blocos compactados, detectar quais não estão danificados e descompactá-los.

  • Modo de teste. Você pode testar a integridade dos arquivos compactados sem precisar descompactá-los. Eu deveria ter colocado isso em 0,21, realmente, mas estava com preguiça (+ esgotado com hackers no momento em que o libertei).

  • Lida com arquivos muito repetitivos muito melhor. Esses arquivos são os piores casos para qualquer compressor de classificação de blocos. O bzip2 é executado aproximadamente dez vezes mais rápido que 0,21 para esses arquivos.

  • Suporte para máquinas menores. O bzip2 pode descompactar qualquer arquivo criado em 2300k, o que significa que você pode descomprimir arquivos em máquinas de 4 meg. O pico de uso de memória durante a compactação também é reduzido em cerca de 900k em comparação com 0,21, para cerca de 6400k.

  • Melhor manuseio da bandeira. Em particular, há sinalizadores longos (- como - isso) são suportados, o que facilita o uso.

  • A mensagem de inicialização de uma linha impressa em 0,21 desapareceu. Esse foi o recurso mais reclamado de 0,21. Até me incomoda hoje em dia.

Não estou mais distribuindo 0,21, porque isso perpetua problemas com patentes, o que garante que o programa nunca seja amplamente utilizado. É uma pena, porque é um programa útil, e muitas pessoas parecem gostar. Se você já usa o 0.21, atualize para o bzip2. Infelizmente, não posso fazer com que o bzip2 possa descomprimir os arquivos .bz do 0.21, pois isso tornaria inútil o exercício de evitar patentes. Eu sei que alterar os formatos de arquivo é doloroso; a partir de agora, tentarei fazer outras alterações de uma maneira compatível com versões anteriores.

Também é um link para uma versão descompactada do bzipcódigo-fonte para quem quiser brincar com ele.

Graeme
fonte
5
Eu provavelmente tenho o bzip original em alguns arquivos de backup em algum lugar. Eu costumava usá-lo extensivamente, e achei a mudança para bzip2 irritante. Na maioria dos arquivos, o bzip obteve uma melhor taxa de compactação.
Jules