bitter
libdeflate
bitter | libdeflate | |
---|---|---|
4 | 7 | |
67 | 933 | |
- | - | |
6.9 | 8.8 | |
1 day ago | 1 day ago | |
Rust | C | |
- | MIT 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.
bitter
-
bitter v0.6 - the performant bit reading library with a new faster API
bitter v0.6 is a pretty major change in the library as the API surface area is much slimmer and additional performance gains have been unlocked by allowing control of when the lookahead buffer is refilled to be passed downstream, so that one can take advantage of patterns in the data they are decoding.
-
GitHub - epage/string-benchmarks-rs: Comparison of Rust string types
What I've done for my crates (example #1) is take the csv that criterion generates and formulate better graphs using technologies designed for visualizations (like the R ecosystem).
-
Parsing Bitstreams with Rust and Nom
Updated the benchmark with your implementation! You can see the results here: https://github.com/nickbabcock/bitter#comparison-to-other-li...
libdeflate
- Ebiggers/libdeflate: Heavily optimized DEFLATE/zlib/gzip library
-
Introducing zune-inflate: The fastest Rust implementation of gzip/Zlib/DEFLATE
zune-inflate is a port of libdeflate to safe Rust.
-
Quite OK Image is now my favorite asset format
> The QOI benchmarks shows it only lagging a small bit behind PNG in compression ratio, while performing much faster (multiples) in both encoding and decoding.
Presumably that’s with stock libpng, which uses zlib. I wonder if anyone tried patching it to use the substantially faster (on x86) libdeflate[1] instead? It doesn’t do streaming, but you shouldn’t really need it for PNG textures.
[1] https://github.com/ebiggers/libdeflate
-
bitter v0.6 - the performant bit reading library with a new faster API
Eric biggers libdeflate https://github.com/ebiggers/libdeflate/blob/master/lib/deflate_decompress.c
-
Computing Adler32 Checksums at 41 GB/s
Note that libdeflate has used essentially the same method since 2016 (https://github.com/ebiggers/libdeflate/blob/v0.4/lib/adler32...), though I recently switched it to use a slightly different method (https://github.com/ebiggers/libdeflate/blob/v1.12/lib/x86/ad...) that performs more consistently across different families of x86 CPUs.
-
Zlib – a spiffy yet delicately unobtrusive compression library
Going away from Zlib proper but staying with its format, there’s libdeflate[1], an implementation that’s substantially faster on modern machines but can’t stream, and of course Zopfli[2], a glacially slow compressor that’s somewhat better (and occasionally much more so).
[1] https://github.com/ebiggers/libdeflate
[2] https://github.com/google/zopfli
- Firefox's Optimized Zip Format: Reading Zip Files Quickly
What are some alternatives?
smartstring - Compact inlined strings for Rust.
zlib-ng - zlib replacement with optimizations for "next generation" systems.
rsip - SIP Rust library (generator & parser)
ZLib - A massively spiffy yet delicately unobtrusive compression library.
deku - Declarative binary reading and writing: bit-level, symmetric, serialization/deserialization
zlib - Cloudflare fork of zlib with massive performance improvements
zune-entropy - Incredibly Spicy Entropy coders
zlib
string-rosetta-rs - Comparison of Rust string types
fpng - Super fast C++ .PNG writer/reader
miniz_oxide - Rust replacement for miniz
HexFiend - A fast and clever hex editor for macOS