zstd
zlib-ng
zstd | zlib-ng | |
---|---|---|
120 | 19 | |
24,555 | 1,703 | |
1.2% | 4.6% | |
9.8 | 9.1 | |
1 day ago | 5 days ago | |
C | C | |
GNU General Public License v3.0 or later | zlib License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
zstd
-
Why do I find Rust inadequate for text compression codecs?
If zstd give you an error and you don't handle it, the next calls may cause UB, so it kinda does both things.
https://github.com/facebook/zstd/blob/b16d193512d3ded82fd584...
- Zstandard v1.5.7 brings performance enhancements
- Zstandard v1.5.7
-
Lzbench Compression Benchmark
( https://github.com/facebook/zstd/releases/tag/v1.5.6 )
In my opinion, it is better to check the original repository: https://github.com/inikep/lzbench
-
DeepSeek releases Janus Pro, a text-to-image generator [pdf]
This. Even their less known work is pretty solid[1] ( used it the other day and was frankly kinda amazed at how well it performed under the circumstances ). Facebook/Meta sucks like most social madia does, but, not unlike Elon Musk, they are on the record of having some contributions to society as a whole.
[1]https://github.com/facebook/zstd
-
New standards for a faster and more private Internet
I don't think so? It's only seekable with an additional index [1], just like any other compression scheme.
[1] https://github.com/facebook/zstd/blob/dev/contrib/seekable_f...
-
Large Text Compression Benchmark
- latest zstd v1.5.6 ( Mar 30, 2024 https://github.com/facebook/zstd/releases )
-
Current problems and mistakes of web scraping in Python and tricks to solve them!
You may have also noticed that a new supported data compression format zstd appeared some time ago. I haven't seen any backends that use it yet, but httpx will support decompression in versions above 0.28.0. I already use it to compress server response dumps in my projects; it shows incredible efficiency in asynchronous solutions with aiofiles.
-
MLow: Meta's low bitrate audio codec
Zstd is a personal project? Surely it's not by accident in the Facebook GitHub organization? And that you need to sign a contract on code.facebook.com before they'll consider merging any contributions? That seems like an odd claim, unless it used to be a personal project and Facebook took it over
(https://github.com/facebook/zstd/blob/dev/CONTRIBUTING.md#co...)
-
My First Arch Linux Installation
Unmount root and remount the subvolumes and the boot partition. noatime is used for better performance zstd as file compression:
zlib-ng
-
Zlib-rs is faster than C
I'm not sure why people say this about certain languages (it is sometimes said about Haskell, as well).
The code has a C style to it, but that doesn't mean it wasn't actually written in Rust -- Rust deliberately has features to support writing this kind of code, in concert with safer, stricter code. This isn't bad, it's good. Imagine if we applied this standard to C code. "Zlib-NG is basically written in assembler, not C..." https://github.com/zlib-ng/zlib-ng/blob/50e9ca06e29867a9014e...
- zlib-ng: zlib replacement with optimizations for "next generation" systems
-
Fast-PNG: PNG image decoder and encoder
Looks like it depends on https://github.com/nodeca/pako for the zlib compression.
> Almost as fast in modern JS engines as C implementation (see benchmarks).
Impressive, although zlib itself is no longer the bar to beat for zlib, I think that goes to https://github.com/zlib-ng/zlib-ng these days
-
Discord Reduced WebSocket Traffic by 40%
For what it’s worth, the benchmark on the Zstandard homepage[1] shows none of the compressors tested breaking 1GB/s on compression, and only the fastest and sloppiest ones breaking 1GB/s on decompression. If you’re OK with its API limitations, libdeflate[2] is known to squeeze past 1GB/s decompressing normal Deflate compression levels. So asking for multiple GB/s is probably unfair.
Still, 10MB/s sounds like the absolute minimum reasonable speed, and they’re reporting nearly three orders of magnitude below that. A modern compressor does not run at bad dialup speeds; something in there is absolutely murdering the performance.
And it might just be the constant-time overhead, as far as I can see. The article mentions “a few hundred bytes” of payload, and the discussion of measurements implies 1.5KB uncompressed. Even though they don’t reinitialize the compressor on each message, that is still a very very modest amount of data.
So it might be that general-purpose compressors are just a bad tool here from a performance standpoint. I’m not aware of a good tool for this kind of application, though.
[1] https://facebook.github.io/zstd/#benchmarks
[2] https://github.com/zlib-ng/zlib-ng/issues/1486
-
Show HN: Pzip- blazing fast concurrent zip archiver and extractor
Please note that allowing for 2% bigger resulting file could mean huge speedup in these circumstances even with the same compression routines, seeing these benchmarks of zlib and zlib-ng for different compression levels:
https://github.com/zlib-ng/zlib-ng/discussions/871
IMO the fair comparison of the real speed improvement brought by a new program is only between the almost identical resulting compressed sizes.
- Intel QuickAssist Technology Zstandard Plugin for Zstandard
-
Introducing zune-inflate: The fastest Rust implementation of gzip/Zlib/DEFLATE
It is much faster than miniz_oxide and all other safe-Rust implementations, and consistently beats even Zlib. The performance is roughly on par with zlib-ng - sometimes faster, sometimes slower. It is not (yet) as fast as the original libdeflate in C.
-
Zlib Critical Vulnerability
Zlib-ng doesn't contain the same code, but it appears that their equivalent inflate() when used with their inflateGetHeader() implementation was affected by a similar problem: https://github.com/zlib-ng/zlib-ng/pull/1328
Also similarly, most client code will be unaffected because `state->head` will be NULL, because they (most client code) won't have used inflateGetHeader() at all.
-
Git’s database internals II: commit history queries
I wonder if zlib-ng would make a difference, since it has a lot of optimizations for modern hardware.
https://github.com/zlib-ng/zlib-ng/discussions/871
-
Computing Adler32 Checksums at 41 GB/s
zlib-ng also has adler32 implementations optimized for various architectures: https://github.com/zlib-ng/zlib-ng
Might be interesting to benchmark their implementation too to see how it compares.
What are some alternatives?
haproxy - HAProxy Load Balancer's development branch (mirror of git.haproxy.org)
ZLib - A massively spiffy yet delicately unobtrusive compression library.
LZ4 - Extremely Fast Compression algorithm
libdeflate - Heavily optimized library for DEFLATE/zlib/gzip compression and decompression
brotli - Brotli compression format
Minizip-ng - Fork of the popular zip manipulation library found in the zlib distribution.