Il y a 1 ans j'ai essayé de me lancer dans la compression des données mais sans succès,
aujourd'hui j'ai réussi à coder l'algorihtme d'Huffman, pour moi c'est donc une réussite.
Ce code permet la compression/décompression de n'importe quel fichier grâce au codage HuffMan ou
Rle. Il contient l'algorithme Mtf qui me servira, plus tard, dans une seconde source à coder
l'algorithme Bwt,iBwt et Lzw (j'ai laissé un module Bwt vide, j'ai tout effacé suite à une
transformation trop lente à mon goût).
Les performances sont les suivantes sur mon pc (Sempron 3000+, DD 5400tr min, pour vous donner une
idée sur la compression) Précision : La vitesse d'écriture est définie seulement sur ce qu'elle code, si la source a codé que 300Ko dans la seconde alors elle sera de 300Ko/sec. Les performances se mesure sur la vitesse de lecture qui definie la rapidité de traitement. Lorsque le taux de compression est faible la vitesse d'écriture s'aligne sur celle de lecture, vous saisissez?
Algo | Huffman | Rle
Compression | 4,6Mo/sec | 7Mo/sec
Décompression | 3Mo/sec | 12Mo/sec
Le stockage de l'arbre est sérialisé et est construit sur l'héritage de classe (vous me dites si je
me trompe à propos de l'héritage) ce qui permet une meilleur lisibilitée.
Merci de faire part de vos impressions.
Maj 27/04/2007 : Estimation de la taille du fichier codé par l'algo Huffman