Multithreaded improvements
- Dominant language
- C
- Stars
- 27.9k
- Forks
- 2.6k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 8
Description
It looks like the the multithreaded implementation in the base zstd is a bit slower than the other available threading implementations:
zstd-mt : https://github.com/mcmilk/zstdmt/releases
pzstd: https://github.com/facebook/zstd/tree/dev/contrib/pzstd
One issue is the cpu detection, with -T0 zstd doesn't count hyperthreading cores, but at higher compression ratios they can provide additional speedup.
Another issue is decompression doesn't use threads, even adding a couple threads dedicated to reading and writing would allow speedup of single block streams. Perhaps decompression is fast enough that true multithreaded decompression per block (like plzip, lbzip2, or pbzip2) would not provide much benefit.
Jon
Contributor guide
Assessment
This issue has not been assessed yet.