facebook / facebook/zstd

Multithreaded improvements

Open
#2,499 2 comments 2 reactions 0 assignees View on GitHub
question
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.