Introduce ZSTD compression to ZFS
github.com
Introduce ZSTD compression to ZFS
1–10 of 41 posts
Re: Introduce ZSTD compression to ZFS
#2Re: Introduce ZSTD compression to ZFS
#3There's one thing I don't understand. Each time a new compression algorithm is introduced, it's the Next Big Thing. Why isn't the implementation of the algorithm as simple as linking in the related library, assuming they'd all have a similar interface? After all, it seems like what you need is a header and a function that converts a compressed block to a decompressed one and the other way round. Where's the complexit…
Re: Introduce ZSTD compression to ZFS
#4There's one thing I don't understand. Each time a new compression algorithm is introduced, it's the Next Big Thing. Why isn't the implementation of the algorithm as simple as linking in the related library, assuming they'd all have a similar interface? After all, it seems like what you need is a header and a function that converts a compressed block to a decompressed one and the other way round. Where's the complexit…
For one thing, kernel models don't link against libraries. So a new implementation is almost always written.
Frequently Asked Questions
“Q: Why is it so many lines of code, I can't review all of that...
A: Most of this code is the ZSTD library, which has not been altered.”
One reason this needs testing because this is a file system. If it breaks, it can lose you much more data than the file being worked on.
There also may be serious performance degradation on hardware or configurations the developers didn’t look at.
There also is some new code added to call the zstd library.
Re: Introduce ZSTD compression to ZFS
#5Re: Introduce ZSTD compression to ZFS
#6Re: Introduce ZSTD compression to ZFS
#7There's one thing I don't understand. Each time a new compression algorithm is introduced, it's the Next Big Thing. Why isn't the implementation of the algorithm as simple as linking in the related library, assuming they'd all have a similar interface? After all, it seems like what you need is a header and a function that converts a compressed block to a decompressed one and the other way round. Where's the complexit…
W.r.t. to ZSTD: The usual thing is to provide a zlib compatible API, which ZSTD does ( https://github.com/facebook/zstd/tree/dev/zlibWrapper ). But the ZSTD zlib compatibility layer causes lower performance, so it is better to use it directly. Maybe all future compression algorithms can provide a ZSTD compatible API, so we have to do less work in the future?
Re: Introduce ZSTD compression to ZFS
#8Re: Introduce ZSTD compression to ZFS
#9lz4 is performing pretty well. Better than most zstd-fast settings. It will not be obsolete after adding ZSTD and most likely stay the go-to algorithm if you are unsure what to choose.
zstd is more likely to represent an obsolescence of gzip. It surpasses gzip pretty much always.
Re: Introduce ZSTD compression to ZFS
#10lz4 is performing pretty well. Better than most zstd-fast settings. It will not be obsolete after adding ZSTD and most likely stay the go-to algorithm if you are unsure what to choose.
I think it's likely that LZ4 remains the default. There are almost no downsides to having LZ4 enabled. zstd is more likely to represent an obsolescence of gzip. It surpasses gzip pretty much always.