Klib VS ZLib

Compare Klib vs ZLib and see what are their differences.

ZLib

A massively spiffy yet delicately unobtrusive compression library. (by madler)
Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • JetBrains - Developer Ecosystem Survey 2022
  • Scout APM - Less time debugging, more time building
Klib ZLib
15 25
3,586 3,630
- -
0.4 5.4
5 months ago 3 days ago
C C
MIT License -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

Klib

Posts with mentions or reviews of Klib. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-06-30.
  • boost::unordered map is a new king of data structures
    8 projects | reddit.com/r/cpp | 30 Jun 2022
    Unordered hash map shootout CMAP = https://github.com/tylov/STC KMAP = https://github.com/attractivechaos/klib PMAP = https://github.com/greg7mdp/parallel-hashmap FMAP = https://github.com/skarupke/flat_hash_map RMAP = https://github.com/martinus/robin-hood-hashing HMAP = https://github.com/Tessil/hopscotch-map TMAP = https://github.com/Tessil/robin-map UMAP = std::unordered_map Usage: shootout [n-million=40 key-bits=25] Random keys are in range [0, 2^25). Seed = 1656617916: T1: Insert/update random keys: KMAP: time: 1.949, size: 15064129, buckets: 33554432, sum: 165525449561381 CMAP: time: 1.649, size: 15064129, buckets: 22145833, sum: 165525449561381 PMAP: time: 2.434, size: 15064129, buckets: 33554431, sum: 165525449561381 FMAP: time: 2.112, size: 15064129, buckets: 33554432, sum: 165525449561381 RMAP: time: 1.708, size: 15064129, buckets: 33554431, sum: 165525449561381 HMAP: time: 2.054, size: 15064129, buckets: 33554432, sum: 165525449561381 TMAP: time: 1.645, size: 15064129, buckets: 33554432, sum: 165525449561381 UMAP: time: 6.313, size: 15064129, buckets: 31160981, sum: 165525449561381 T2: Insert sequential keys, then remove them in same order: KMAP: time: 1.173, size: 0, buckets: 33554432, erased 20000000 CMAP: time: 1.651, size: 0, buckets: 33218751, erased 20000000 PMAP: time: 3.840, size: 0, buckets: 33554431, erased 20000000 FMAP: time: 1.722, size: 0, buckets: 33554432, erased 20000000 RMAP: time: 2.359, size: 0, buckets: 33554431, erased 20000000 HMAP: time: 0.849, size: 0, buckets: 33554432, erased 20000000 TMAP: time: 0.660, size: 0, buckets: 33554432, erased 20000000 UMAP: time: 2.138, size: 0, buckets: 31160981, erased 20000000 T3: Remove random keys: KMAP: time: 1.973, size: 0, buckets: 33554432, erased 23367671 CMAP: time: 2.020, size: 0, buckets: 33218751, erased 23367671 PMAP: time: 2.940, size: 0, buckets: 33554431, erased 23367671 FMAP: time: 1.147, size: 0, buckets: 33554432, erased 23367671 RMAP: time: 1.941, size: 0, buckets: 33554431, erased 23367671 HMAP: time: 1.135, size: 0, buckets: 33554432, erased 23367671 TMAP: time: 1.064, size: 0, buckets: 33554432, erased 23367671 UMAP: time: 5.632, size: 0, buckets: 31160981, erased 23367671 T4: Iterate random keys: KMAP: time: 0.748, size: 23367671, buckets: 33554432, repeats: 8, sum: 4465059465719680 CMAP: time: 0.627, size: 23367671, buckets: 33218751, repeats: 8, sum: 4465059465719680 PMAP: time: 0.680, size: 23367671, buckets: 33554431, repeats: 8, sum: 4465059465719680 FMAP: time: 0.735, size: 23367671, buckets: 33554432, repeats: 8, sum: 4465059465719680 RMAP: time: 0.464, size: 23367671, buckets: 33554431, repeats: 8, sum: 4465059465719680 HMAP: time: 0.719, size: 23367671, buckets: 33554432, repeats: 8, sum: 4465059465719680 TMAP: time: 0.662, size: 23367671, buckets: 33554432, repeats: 8, sum: 4465059465719680 UMAP: time: 6.168, size: 23367671, buckets: 31160981, repeats: 8, sum: 4465059465719680 T5: Lookup random keys: KMAP: time: 0.943, size: 23367671, buckets: 33554432, lookups: 34235332, found: 29040438 CMAP: time: 0.863, size: 23367671, buckets: 33218751, lookups: 34235332, found: 29040438 PMAP: time: 1.635, size: 23367671, buckets: 33554431, lookups: 34235332, found: 29040438 FMAP: time: 0.969, size: 23367671, buckets: 33554432, lookups: 34235332, found: 29040438 RMAP: time: 1.705, size: 23367671, buckets: 33554431, lookups: 34235332, found: 29040438 HMAP: time: 0.712, size: 23367671, buckets: 33554432, lookups: 34235332, found: 29040438 TMAP: time: 0.584, size: 23367671, buckets: 33554432, lookups: 34235332, found: 29040438 UMAP: time: 1.974, size: 23367671, buckets: 31160981, lookups: 34235332, found: 29040438
  • C++ containers but in C
    8 projects | reddit.com/r/C_Programming | 8 Mar 2022
  • Im looking for a good hashtable fonction to use
    2 projects | reddit.com/r/C_Programming | 17 Dec 2021
    If you want a generic, extremely high performance implementation. I really recommend khash: https://github.com/attractivechaos/klib/blob/master/khashl.h
  • What if Linus Torvalds used C++ instead of C
    2 projects | reddit.com/r/linuxmasterrace | 28 Nov 2021
  • sqzlib - kseq compatible DNA fastA/Q encoding and compression library
    5 projects | reddit.com/r/bioinformatics | 21 Nov 2021
    Most importantly, sqzlib is fully compatible with klib/kseq.h one of the highest performance fastA/Q parsers. This means that any application that uses kseq.h for fastA/Q parsing, can be easily modified to use sqzlib instead. You can find patched versions of seqstats, minimap2, and bwa-mem2 in my github, or you can patch them yourself with the included patches.
  • "Implementing Hash Tables in C" (an article I've drafter a few years ago, but never published it until... now)
    2 projects | reddit.com/r/C_Programming | 15 Oct 2021
    I don;t know if you are aware of khash? It's a very nifty hash table implementation. It is one of the fastest hash table implementations out there. Heavily used in bioinformatics. You said in your post that you are a macro guy, well, you are in for a treat with this library.
  • Metaprogramming custom control structures in C
    3 projects | news.ycombinator.com | 10 Jul 2021
  • I still like C and strongly dislike C++
    1 project | news.ycombinator.com | 26 May 2021
  • Type-safe generic data structures in C
    6 projects | news.ycombinator.com | 8 Apr 2021
    This is in fact a pretty common pattern in production code.

    Here's an entire suit of type safe generic data structures in C: https://github.com/attractivechaos/klib

  • How to structure C code? It appears to reward shallow functions and doing everything in the global scope, whereas other languages let you go as deep as you want at no cost.
    2 projects | reddit.com/r/C_Programming | 19 Mar 2021
    You will probably want to invest some time into either finding a good data structures library (preferable) or writing your own data structures (fine to do but not a good use of your time if you're starting out). You can try SGLIB or klib.

ZLib

Posts with mentions or reviews of ZLib. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-03-28.

What are some alternatives?

When comparing Klib and ZLib you can also consider the following projects:

zstd - Zstandard - Fast real-time compression algorithm

LZ4 - Extremely Fast Compression algorithm

LZMA - (Unofficial) Git mirror of LZMA SDK releases

brotli - Brotli compression format

Minizip-ng - Fork of the popular zip manipulation library found in the zlib distribution.

Snappy - A fast compressor/decompressor

zlib-ng - zlib replacement with optimizations for "next generation" systems.

OpenSSL - TLS/SSL and crypto library

Onion - C library to create simple HTTP servers and Web Applications.

zlib-ng - zlib replacement with optimizations for "next generation" systems. [Moved to: https://github.com/zlib-ng/zlib-ng]

libarchive - Multi-format archive and compression library

LZFSE - LZFSE compression library and command line tool