You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Zstandard is a fast lossless compression algorithm, targeting real-time compression scenarios at zlib-level and better compression ratios. ...Read more
Benefits
Expands the possible compression algorithms in serde.
Allows to mimic Roblox's compression/decompression with buffers (link).
Highly performant.
High compression ratio.
Roughly Modern.
Considerations
It would be nice if lune could also have a way to control the level of compression or speed using the zstd level options, in Luau.
Alternative
Use Lune process lib to execute zstd binaries to compress and decompress.
The text was updated successfully, but these errors were encountered:
I was a bit hesitant on zstd before since there is no pure rust library for it, meaning we need to link another c library, but Roblox already using it in various places is a good argument for Lune also having it. I think the benefits outweigh the costs here.
This should be very straightforward to add, just enabling the zstd feature in async-compression and adding a new match branch, so if any new contributor wants to pick this up as a first issue feel free :)
I support this, another usecase here that wasn't mentioned by the OP was that Roblox sometimes compresses rbxm files uses zstd, the exact conditions for when it does this are a little hazy, but every signed model is compressed using zstd over lz4
Summary
Zstandard is a fast lossless compression algorithm, targeting real-time compression scenarios at zlib-level and better compression ratios.
...Read more
Benefits
serde
.Considerations
It would be nice if lune could also have a way to control the level of compression or speed using the
zstd
level options, in Luau.Alternative
process
lib to executezstd
binaries to compress and decompress.The text was updated successfully, but these errors were encountered: