Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Comment bien utiliser la compression en programmation
Auteur Message
Répondre en citant
Message Comment bien utiliser la compression en programmation 
Hmm, la compression informatique, ah vrai dire, j'en entends pleins qui vont dire .zip et .rar mais hélas, ils ne sont pas les seuls Wink.
C'est vrai, comment en choisir un ?
Et surtout, comment les utiliser comme il faut (pour du batch, enfin de la programmation, vous voyez Laughing)
Je vais bien sûr parler pour des commandes externes,en l’occurrence, une qui est à moi : SockeT.exe.
Pourquoi pas de .exe disponibles (pour SockeT.exe) ? Je vais vous expliquer un peu plus bas.

En informatique, il y a plusieurs façons de compresser des données (bien sûr).
Les développeurs de ces formats ont eu de la réflexion pour compresser les données, ils ont utiliser des algorithmes !
Par exemple, on peut compresser les fichiers en passant par un dictionnaire (une sorte de liste de variables à utiliser).
Si l'on prend un code, afin de ne pas répéter toujours la même chose, on utilise des instructions comme for et while, et bien dans ces formats de compression, c'est le même principe.
Donc cela veut dire qu'il y aura des cas où ce sera efficace et d'autres moins (par exemple un fichier non-répétitif)
vous pouvez en avoir une liste détaillée ici
Je vous rassure, vous n'aurez pas à tous les apprendre Laughing mais à comprendre rapidement leur fonctionnement et l'exploiter comme l'on le veut, ce sera déjà pas mal.

Mais aussi, on peut utiliser le codage de Huffman, c'est un encodage complexe (qui fonctionne avec des arbres) mais qui comble bien certaines répétitions de caractères.
Je ne connais pas grand chose dans cette compression, mais vous pouviez aller voir ici si vous êtes réellement intéressées.

Et il y en a pleins pleins d'autres, à vous de les découvir.

Aussi, on fusionne généralement plusieurs algorithmes afin de donner les "probablement" meilleurs résultats.

Bon, maintenant, parlons du vif du sujet, les formats de compression.
Il y en a plusieurs, plus ou moins efficaces pour certains fichiers.

Je vais en comparer certains, c'est à dire : ZIP, 7Z, RAR, TAR
Je vais utiliser certains résultats qu'il y a ici : http://rlwpx.free.fr/WPFF/comploc.htm

ZIP :
C'est sur l'ancien format zip et pas zipx
Il est basé sur l’algorithme Deflate (fusionne dictionnaire et codage de Huffman)
D’après les résultats, c'est de loin, pas du tout le meilleur, ancien, mais toujours d’actualité, a vrai dire, il a l'avantage de marcher partout et de compresser un minimum, c'est tout ce que l'on peut lui demander.
On l'utilise généralement pour envoyer un groupe de fichier/dossiers sans se préoccuper du format.
https://en.wikipedia.org/wiki/Zip_(file_format)

7Z :
Format ouvert proposant d'autres algorithmes que celui de base (LZMA, LZMA2 (par defaut), BZip2, PPMd).
LZMA et LZMA2 : Dictionnaire
BZip2 : codage de Huffman et Transformée de Burrows-Wheeler Shocked
PPMd : Prédiction par reconnaissance partielle (sortez vos calculatrices, on va faire des stats !)
Ceci s'applique pour le LZMA2 :
Étonnamment efficace, mais pas dans certains cas (notamment les formats audio).
Personnellement, je l'utilise pour mes .exe et codes sources, notamment SockeT, c'est mon favori Razz.
Comme c'est une compression par dictionnaire, les instructions C# + batch sont mises dans le dictionnaire et ça fait comme si le code était compilé (enfin, un truc du genre)
Le code source est plus petit que tout les .exe compilées.
ça donne un gain de place et m'évite de tout avoir à compiler à la main à chaque fois que je modifie quelque chose Evil or Very Mad.

RAR :
Hmm, je pense que tout le monde en a entendu parlé, et même tombe dans l'impasse de devoir installer WinRAR (car il y a rar dans le nom Laughing )
Ce n'est pas un format ouvert.
Globalement plus éfficace pour les formats audio/video que 7z, il est un poil moins efficace sur les autres fichiers que 7z.

TAR :
Ah les .tar, un cauchemars à extraire en ligne de commande sur les BSD.
Ce n'est pas de la compression mais plutôt : Dossiers/Fichiers -> Fichier tout en gardant les droits UNIX.
On le fusionne généralement avec un autre format afin de former .tar.gz, .tar.bzip, .tar.xz, .tar.7z etc.
Je ne vois pas ce que l'on gagnerais à utiliser ce format a moins d'être sur un UNIX.




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Message Publicité 
PublicitéSupprimer les publicités ?


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch