zlib-ng
uzlib
Our great sponsors
zlib-ng | uzlib | |
---|---|---|
13 | 2 | |
1,440 | 294 | |
1.8% | - | |
9.4 | 0.0 | |
12 days ago | 7 months ago | |
C | C | |
zlib License | GNU General Public License v3.0 or later |
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.
zlib-ng
-
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.
-
Convenient CPU feature detection and dispatch in the Magnum Engine
zlib-ng: https://github.com/zlib-ng/zlib-ng/blob/develop/functable.c
-
games-emulation/dolphin-9999 is failing to build because devs switched to minizip-ng and zlib uses minizip. I'm not sure how to get it to build now, details in post.
(2) There are many packages that rely upon zlib and minizip and switching those underlying dependencies is easier said than done. We can't drop zlib completely and switch: "The idea of zlib-ng is not to replace zlib, but to co-exist as a drop-in replacement with a lower threshold for code change." - https://github.com/zlib-ng/zlib-ng
-
Re: Zlib memory corruption on deflate (i.e. compress)
There are already active zlib forks (e.g. https://github.com/zlib-ng/zlib-ng), the problem is with having people move to them. It takes a lot of effort to move mindshare from the original version to a fork, there's some historical examples of it happening, but not a ton.
uzlib
-
Compression algorithms for HTTP packets
This GitHub repo might have something that works https://github.com/pfalcon/uzlib , according to the author, the compression ratio isn't very high
-
Using TAR files in ESP32 with SD applications for easy multiple file transfers
I am engineering a watch to play home videos of my children on my wrist - my Reflections project. I need an easy way to move multiple files from a Cloud based service to the watch. tar) and GZip are widely used standards to build and compress an archive of binary (for example, movies and sound files) and text (for example, JSON encoded procedural scripting command) files. Using tar I simplify my code to move one tar file instead of multiple individual files. The ESP32-targz library combines uzlib and TinyUntar to decompress and inflate tar files and works well with Arduino IDE 1.8.13, ESP32, and an SD card. This is my developer’s journal of the problems that I encountered and the work-arounds I used.
What are some alternatives?
zstd - Zstandard - Fast real-time compression algorithm
ESP32-targz - 🗜️ An Arduino library to unpack/uncompress tar, gz, and tar.gz files on ESP32 and ESP8266
ZLib - A massively spiffy yet delicately unobtrusive compression library.
sent - a simple plaintext presentation tool
Minizip-ng - Fork of the popular zip manipulation library found in the zlib distribution.
Stm32-FatFs-Gzip - This project offers a simplified compressor that produces Gzip-compatible output with small resources for microcontrollers and edge computers. He uses the very basic LZ77 compression algorithm and static Deflate Huffman tree encoding to compress / decompress data into Gzip files.
libdeflate - Heavily optimized library for DEFLATE/zlib/gzip compression and decompression
TinyUntar - A tiny untar library written in C.
brotli - Brotli compression format
Owin.Compression - Compression (Deflate / GZip) module for Microsoft OWIN filesystem pipeline. Works with Selfhost and also on AspNetCore.
LZ4 - Extremely Fast Compression algorithm
eiwd - iwd without dbus -- maintained fork of original dylanaraps/eiwd