5
respostas

.zip e .bz2 nao eficientes

Olá, quando compacto arquivos com "tar -cjf teste.tar.bz2 teste" a pasta teste de origem acaba ficando menor que a compacta, isso acontece também para .zip, pode ter algo errado com meu computador ? Ex : A pasta teste fica com 20bytes enquanto a teste.tar.bz2 fica com 203bytes

5 respostas

Oi João, tudo bem ?

Pode ser devido ao algoritmo de compactação, mas acredito que não seja tão problemático isso.

Mas isso nāo meio que torna ineficaz o algoritmo ? Porque nāo faz sentido querer diminuir um arquivo e ficar maior. Você acha que com arquivos verdadeiramente grandes esse metodo de compactaçāo possa surtir algum efeito ?

Na verdade, a galera compacta mas pensando em mandar apenas um arquivo, por exemplo para um servidor, email e tudo mais.

Mas existe outra utilidade nisso além de diminuir o tamanho do arquivo ? Porque caso seja a única utilidade a ineficiência do processo que me faz pensar sobre o beneficio de perder tempo compactando pra .bz2 ou .gz

Cara, isso ai é bem complexo de ser explicado aqui no fórum, mas vou tentar.

Até onde eu sei e li em livros a compactação de arquivos surgiu através do Algoritmo de Huffman. Dentre outras características e aplicações, esse algoritmo descreve uma Árvore Binária (BT) que é uma de estrutura de dados bem específica para, por exemplo, mecanismos de busca e transferência de dados. Não vou entrar em detalhes, mas essa estrutura exige bem menos processamento do que uma busca em um array.

Lá trás quando Huffman escreveu esse algoritmo ele pensou em potencializar o uso de memória, isto é, por meio de árvores ele "quebra" o arquivo X bit a X bit e meio que o separa em endereços de memória correlacionados por ponteiros. Assim, quando temos arquivos muito pequenos como o seu, compactá-los os deixa maiores já que você utiliza mais endereços de memória do que anteriormente eram nescessários.

Desculpe se não fui claro o bastante, por, novamente, ser um assunto complexo e também por eu não ser um especialista na área.