Open
Description
Zstandard (or Zstd) is a fast compression algorithm that was published by Facebook in 2015, and had its first stable release in May 2021.
Their official repo offers a C implementation. https://github.com/facebook/zstd
Data compression mechanism specification: https://datatracker.ietf.org/doc/html/rfc8478
Features:
- It is faster than Deflate, especially in decompression, while offering a similar compression ratio.
- It's maximum compression level is similar to that of lzma and performs better than lza and bzip2.
- It reached the Pareto Frontier, as it decompresses faster than any other currently-available algorithm with similar or worse compression ratio.
- It supports multi-threading.
- It can be saved to a *.zst file.
- It has a dual BSD+GPLv2 license. We would be using the BSD license.
It's used by:
- The Linux Kernel as a compression option for btrfs and SquashFS since 2017.
- FreeBSD for coredumps.
- AWS RedShift for databases.
- Canonical, Fedora and ArchLinux for their package managers.
- Nintendo Switch to compress its files.
We could offer a stream-based class, like we do for Deflate with DeflateStream
or GZipStream
, but we should also consider offering a stream-less static class, since it's a common request.