q1) Puis-je vérifier si je fais un fichier gzip -c | chiffrer (certains parameters)
a) gzip imprime-t-il la ligne de sortie ligne par ligne et la dirige-t-elle vers la fonction de chiffrement ou
b) gzip sera exécuté en premier, puis la sortie sera tout à la fois à la fonction encrypt?
================================================== ==
q2) va effectuer gzip | chiffrer avoir de meilleures considérations de performances alors gzip, puis chiffrer
Cordialement, Noob
Gzip est un compresseur / décompresseur en streaming. Donc, pour des entrées suffisamment importantes, le compresseur / décompresseur commence à écrire la sortie avant d’avoir vu toute l’entrée.
C’est l’une des raisons pour lesquelles la compression gzip est utilisée pour la compression HTTP. L’expéditeur peut compresser pendant qu’il génère encore du contenu; le destinataire peut décompresser la première partie du contenu tout en recevant le rest.
Gzip ne fonctionne pas “ligne par ligne”, car il ne sait pas ce qu’est une ligne. Mais cela fonctionne “chunk-by-chunk”, où le compresseur définit la taille du morceau.
“Performance” est un mot trop vague et trop complexe pour donner une réponse par oui ou par non.
Avec le gzip -c file | encrypt
gzip -c file | encrypt
, pour un fichier assez grand, verra encrypt
et gzip
fonctionner simultanément. En d’autres encrypt
, encrypt
chiffrera le premier bloc compressé avant que gzip
comprime le dernier morceau de fichier.
La taille d’un tampon de tube dépend de l’implémentation. Sous SunOS, il y a 4 Ko. C’est-à-dire: gunzip < file.gz | encrypt
gunzip < file.gz | encrypt
se déplacera en morceaux de 4k. Encore une fois, cela dépend du système d'exploitation. CygWIN peut se comporter complètement différemment.
Je devrais append que c'est dans l' man 7 pipe
. Recherchez PIPE_BUF .