Archives du blog

vendredi 21 janvier 2011

Luc's Compressor EPIC FAIL

Donc, maintenant j'ai bien la preuve de l'inefficacité de la méthode "Run-length Encoding" pour compresser des données autre que images noires et blanches...
En effet : Prenons un film de 500 mégas. Tout d'abords il me faut décomposer chaque bytes contenus dans le fichier en base 2 pour pouvoir faire un traitement sur chaque 1 et 0 trouvés .
Donc je vous laisse imaginer le temps d'une telle opération sur les gros fichiers comme ça...
Forcément; en faisant cette méthode je "déplie" les données. Il ne me reste plus qu'à les stocker en mémoire vive (là je ne pense pas que ça soit faisable d'intégrer 1 giga en ram ^^ )
Donc je stock ce fichier temporaire vachement plus gros que l'original quelque part. :/

Ça, c'est le premier échec de la méthode run-length Encoding. Ensuite vient le temps où il faut compresser le fichier temporaire plein de 0 et de 1.
Petit problème :
-Le codage : 11001100 = 2D2F2D2F peut devenir génant....
-Si j'ai : 10101010 = 1D1F1D1F1D1F Je ne gagne pas de place...Au contraire j'en perd un peu plus.
Répétez ça 5 milliards de fois et vous pourrissez votre espace de stockage...
Même en utilisant un séparateur plus petit pour les 0 il est impossible de déterminer si oui ou non le fichier aura plus de 1 que de 0... Sans compter la création d'une archive parasite qui est plus grosse que le fichier original.

Au moins...Maintenant que j'ai la preuve par A+B que Run-Length Encoding ne fonctionne que sur des fichiers images simple. Ben... Je suis plus convaincu :) .

1 commentaire: