Bonjour, Je voulais vous parler d'un outils de (de)compression qui m'a impressionné.
- https://fr.wikipedia.org/wiki/Zstandard Zstandard (ou Zstd) est un algorithme de compression de données sans perte développé à partir de 2015 par Yann Collet (également connu sous le pseudonyme « Cyan ») et supporté par Facebook. Il s'agit aussi de l'implémentation de référence en C de cet algorithme. Pour ce que j'ai testé, entre 3 et 8 fois plus rapide (moins gourmand) que gzip, avec un résultat comparable voir meilleur! Voici un petit bench, sur une poignée de fichiers ``représentatifs'': le pus gros: 4Gb: gzip: 138" -> 2.51G, zstd: 17" -> 2.44G (sans multithread). Filename Size gzip bzip2 xz zstd zstd-T4 wavfile.wav 48.72K 35.02K 33.91K 32.77K 34.55K 34.55K 71.89% 69.60% 67.27% 70.91% 70.91% .0060" .0116" .0293" .0028" .0026" decompr. .0015" .0051" .0053" .0015" test.svg 296.14K 43.65K 40.01K 36.03K 45.69K 45.69K 14.74% 13.51% 12.16% 15.43% 15.43% .0107" .0323" .0741" .0039" .0039" decompr. .0049" .0107" .0070" .0021" script.tm 1.34M 244.04K 178.05K 183.69K 272.71K 272.71K 17.76% 12.96% 13.37% 19.85% 19.85% .0538" .1392" .7947" .0123" .0126" decompr. .0131" .0374" .0234" .0055" screenshot.png 1.86M 1.86M 1.84M 1.85M 1.86M 1.86M 99.93% 98.95% 99.39% 100.00% 100.00% .0727" .2767" .4964" .0088" .0089" decompr. .0195" .1381" .1031" .0034" script.log 11.20M 287.64K 200.62K 165.01K 217.67K 217.67K 2.51% 1.75% 1.44% 1.90% 1.90% .1061" 1.3140" 1.0747" .0236" .0188" decompr. .0448" .1186" .0432" .0104" somesources.tar 372.65M 91.52M 71.53M 57.02M 81.61M 81.61M 24.56% 19.19% 15.30% 21.90% 21.90% 11.1434" 37.0908" 2'9.7232" 1.8509" .8362" decompr. 2.0741" 10.1793" 3.8732" .5316" win10rescu.ntfs 408.52M 384.73M 385.64M 380.21M 382.04M 382.04M 94.18% 94.40% 93.07% 93.52% 93.52% 13.2750" 1'2.3206" 2'32.0821" .6944" .4324" decompr. 2.1684" 27.1485" 1.9638" .1726" asteriskLxc.tar 862.93M 359.65M 327.50M 260.45M 344.98M 344.98M 41.68% 37.95% 30.18% 39.98% 39.98% 36.6076" 1'30.2886" 5'50.4520" 5.3150" 2.5338" decompr. 6.1810" 34.1689" 17.3148" 1.5118" windowusers.tar 4.09G 2.51G 2.47G 2.28G 2.44G 2.44G 61.40% 60.30% 55.70% 59.72% 59.72% 2'17.8952" 8'29.0160" 21'48.6027" 17.3199" 8.8711" decompr. 26.6442" 3'18.4641" 1'26.5552" 4.7437" (l'option -T n'est pas utile pour la décompression) Cependant, le ``multithread ne divise pas le temps par le nombre de procs:'' somesources.tar 372.65M -> 81.61M T1 1.809713" T2 1.043093" T3 0.858810" T4 0.823303" windowusers.tar 4.09G -> 2.44G T1 16.674683" T2 9.901385" T3 8.516600" T4 8.307437" Il semble que le rapport de gain est meilleur pour -T3, que pour -T2 ou -T4, mais -T1 conserve le meilleur rapport temps/coeur. Je n'ai que 4 coeurs à dispo et c'est pas du xeon... 'faudrait tester sur un xeon 24 coeurs! Voilà. Bon dimanche! -- Félix Hauri - <[email protected]> - http://www.f-hauri.ch _______________________________________________ gull mailing list [email protected] https://forum.linux-gull.ch/mailman/listinfo/gull
