[gull] Truc et astuces: Compression: Gagnez du temps avec Zstandard (zstd)

felix felix at f-hauri.ch
Mon Nov 30 17:03:13 CET 2020


On Sat, Nov 28, 2020 at 06:17:29PM +0100, Marc Mongenet wrote:
> Il serait intéressant de tester à efficacité de compression égale, car
> brotli devient vraiment lent à la compression avec un haut taux de
> compression.
Dans mon script de test - que j'ai modifié passablement pour présenter
les résultat dans ``l'autre verticalité'' et intégrer brotli - je
lance les commandes sans modificateurs particuliers, par ``défaut''.

Mais obtenir le même taux de compression dépend passablement de la nature
des trucs à compresser.

Tentative avec  ``-q 2'':

somesources.tar.b          85232400   81.28M  21.81%     2.9902"      .8200"
somesources.tar.zst        85748485   81.78M  21.94%     1.7008"      .5174"

somesources.lsR.b            162143  158.34K  14.58%      .0127"      .0055"
somesources.lsR.zst          168693  164.74K  15.17%      .0101"      .0033"

Foo bar baz.b                  1192    1.16K   0.00%      .1484"      .1303"
Foo bar baz.zst                9654    9.43K   0.01%      .0431"      .0273"

dump tcp.pcap.b           207800718  198.17M  89.96%     1.4401"      .9192"
dump tcp.pcap.zst         205404530  195.89M  88.92%     1.2365"      .1246"

Je crois que pour l'ordre de grandeur, on est pas mal!
Dans l'ensemble, je continue de préférer Zstandard.

> Il reste en revanche plutôt rapide à la décompression.
En moyenne, à peine plus rapide que gzip et dans l'ensemble plus lent que zstd

> D'après ce que j'ai lu chez Mozilla, tant qu'il restait plus rapide 
> que le débit que peut recevoir un téléphone, c'était bon pour eux.
En raisonnant: Les données sont compressées sur des super serveurs
  installés en Antartic et décompressées sur les clients.

Mais quid de l'upload?

> Il me semble aussi avoir lu qu'il était plus adapté à la décompression
> en flux (utile pour afficher le HTML à mesure qu'on le reçoit).
Encore une fois, je doute que Zstandard ait été considéré à la hauteur
de son mérite!

En complément, voici un extrait de la sortie de ma nouvelle version de ziptest
(brotli, par défaut ``best compression'')

    File                           Size    HSize    Prct      Compr. Decompr.
    dump tcp.pcap             231002939  220.30M 100.00%
    dump tcp.pcap.b           202804676  193.41M  87.79%  12'6.3848"  1.1104"
    dump tcp.pcap.zst         205404530  195.89M  88.92%     1.2837"   .1298"
    dump tcp.pcap.gz          208622778  198.96M  90.31%     7.4906"  1.6029"

    Foo bar                        4722    4.61K 100.00%
    Foo bar.b                       854  854.00b  18.08%      .0130"   .0015"
    Foo bar.gz                      979  979.00b  20.73%      .0008"   .0020"
    Foo bar.zst                    1061    1.04K  22.47%      .0024"   .0018"

    Foo bar baz                92943126   88.64M 100.00%
    Foo bar baz.b                   928  928.00b   0.00%     3.0206"   .1313"
    Foo bar baz.zst                9654    9.43K   0.01%      .0463"   .0234"
    Foo bar baz.gz               727621  710.57K   0.78%      .6237"   .2395"

    script.log                 11750039   11.20M 100.00%
    script.log.b                 156061  152.40K   1.33%     9.0584"   .0227"
    script.log.zst               222898  217.67K   1.90%      .0211"   .0097"
    script.log.gz                294544  287.64K   2.51%      .0998"   .0416"

    script.tm                   1407096    1.34M 100.00%
    script.tm.b                  193961  189.41K  13.78%     3.1370"   .0074"
    script.tm.gz                 249903  244.04K  17.76%      .0479"   .0076"
    script.tm.zst                279259  272.71K  19.85%      .0098"   .0039"

    somesources.lsR             1112079    1.06M 100.00%
    somesources.lsR.b            115344  112.64K  10.37%     2.3110"   .0040"
    somesources.lsR.gz           158964  155.24K  14.29%      .0241"   .0104"
    somesources.lsR.zst          168693  164.74K  15.17%      .0072"   .0054"

    somesources.tar           390727680  372.63M 100.00%
    somesources.tar.b          55713259   53.13M  14.26% 12'32.0232"   .7810"
    somesources.tar.zst        85748485   81.78M  21.94%     1.6895"   .5255"
    somesources.tar.gz         95988204   91.54M  24.57%    10.7131"  2.0251"

    win10resc.ntfs            954913898  910.68M 100.00%
    win10resc.ntfs.b          136760361  130.42M  14.32% 31'31.8486"  2.5248"
    win10resc.ntfs.zst        212308970  202.47M  22.23%     3.9551"  1.2270"
    win10resc.ntfs.gz         281878108  268.82M  29.52%    33.7447"  5.8145"

-- 
 Félix Hauri  -  <felix at f-hauri.ch>  -  http://www.f-hauri.ch


More information about the gull mailing list