[ ] In addition to accept-encoding, we could consider fetching the corresponding .zst file explicitly for squashfs files, perhaps in a happy eyeballs-like scheme. This increases support across the whole landscape, e.g. with mirrors that don’t support accept-encoding yet, or CDNs or proxies etc.
[ ] we should add a test to verify that zstd is faster :)
This exploration shows how zstd beats both sequential gzip and parallel gzip significantly for decompressing larger packages such as qemu:
Accept-Encoding: gzip, deflate
headerContent-Encoding: gzip
headerzstd
is the value that can be used for zstandard as per RFC 8478, section 6.2distri export
should support thisdistri
HTTP client should support asking for zstd versionsAccept-Encoding: zstd
right now: https://twitter.com/zekjur/status/1266855979041292290This exploration shows how zstd beats both sequential gzip and parallel gzip significantly for decompressing larger packages such as qemu:
We took a few measurements with the respective uncompress tools on stream: https://youtu.be/dLr_6jJ4N7Y?t=4172
…and then measured distri package installation, which confirm zstd’s effectiveness in our use-case:
2020/05/30 17:24:30 done, 359.07 MB/s (1149903681 bytes in 3.05s)
2020/05/30 17:24:39 done, 603.67 MB/s (1149903681 bytes in 1.81s)