Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression. Learn more →
Top 14 C Zlib Projects
-
Project mention: Introducing zune-inflate: The fastest Rust implementation of gzip/Zlib/DEFLATE | reddit.com/r/rust | 2023-02-11
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.
-
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
-
Do not re-compress your file into level 3. The decompression speed is largely the same between level 3 and 8, so you just wasting CPU doing nothing and making your files larger. See the bottom of the README: https://github.com/inikep/lzbench
-
lizard
Lizard (formerly LZ5) is an efficient compressor with very fast decompression. It achieves compression ratio that is comparable to zip/zlib and zstd/brotli (at low and medium compression levels) at decompression speed of 1000 MB/s and faster. (by inikep)
Another fun trick is to compress less often used stuff in RAM memory, because decompressing something like LZ4 or Lizard is still potentially orders of magnitude faster than reading from disk.
-
You should look at Precomp - an apparently abandoned, but awesomely working arhiver that is dedicated to compressing those ZIP-based formats, and compresses them twice-thrice as small as LZMA2 can.
-
-
Project mention: Pigz: Parallel gzip for modern multi-processor, multi-core machines | news.ycombinator.com | 2023-05-12
Build or download TurboBench [1] executables for linux and windows from releases [2] ans make your own tests comparing oodle,zstd and other compressors.
-
SonarLint
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
-
uzlib
Radically unbloated DEFLATE/zlib/gzip compression/decompression library. Can decompress any gzip/zlib data, and offers simplified compressor which produces gzip-compatible output, while requiring much less resources (and providing less compression ratio of course).
This GitHub repo might have something that works https://github.com/pfalcon/uzlib , according to the author, the compression ratio isn't very high
-
-
-
CRC is a table and 5 lines of code. That's trivial.
>zlib is 23k lines
It's not needed to make a PNG reader/writer. zlib is massive overkill for only making a PNG reader or writer. Here's a tiny deflate/inflate code [2] under 1k lines (and could be much smaller if needed).
stb[0] has single headers of ~7k lines total including all of the formats PNG, JPG, BMP,. PSD, GIF, HDR, and PIC. Here's [1] a 3k lines single file PNG version with tons if #ifdefs for all sorts of platforms. Removing those and I'd not be surprised if you could not do it in ~1k lines (which I'd consider quite simple compared to most of todays' media formats).
>Of course they're not common formats so you're stuck with complex formats like PNG
BMP is super common and easy to use anywhere.
I use flat image files all the time for quick and dirty stuff. They quickly saturate disk speeds and networking speeds (say recording a few decent speed cameras), and I've found PNG compression to alleviate those saturate CPU speeds (some libs are super slow, some are vastly faster). I've many times made custom compression formats to balance these for high performance tools when neither things like BMPs or things like PNG would suffice.
[0] https://github.com/nothings/stb
[1] https://github.com/richgel999/fpng/blob/main/src/fpng.cpp
-
-
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.
-
-
ONLYOFFICE
ONLYOFFICE Docs — document collaboration in your environment. Powerful document editing and collaboration in your app or environment. Ultimate security, API and 30+ ready connectors, SaaS or on-premises
C Zlib related posts
- Compression algorithms for HTTP packets
- Introducing zune-inflate: The fastest Rust implementation of gzip/Zlib/DEFLATE
- darktable feature release 4.0.1
- Computing Adler32 Checksums at 41 GB/s
- Re: Zlib memory corruption on deflate (i.e. compress)
- Zlib – a spiffy yet delicately unobtrusive compression library
- Git Internals part 1: The git object model
-
A note from our sponsor - InfluxDB
www.influxdata.com | 2 Jun 2023
Index
What are some of the best open-source Zlib projects in C? This list will help you:
Project | Stars | |
---|---|---|
1 | zlib-ng | 1,265 |
2 | Minizip-ng | 1,014 |
3 | lzbench | 745 |
4 | lizard | 594 |
5 | precomp-cpp | 354 |
6 | matio | 287 |
7 | TurboBench | 271 |
8 | uzlib | 251 |
9 | fast_zlib | 127 |
10 | merecat | 124 |
11 | tinf | 119 |
12 | zlib | 39 |
13 | Stm32-FatFs-Gzip | 10 |
14 | zlib-bindings | 1 |