tinf VS nflate

Compare tinf vs nflate and see what are their differences.

tinf

Tiny inflate library (inflate, gzip, zlib) (by jibsen)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
tinf nflate
3 1
142 2
- -
10.0 0.0
over 1 year ago over 3 years ago
C C
zlib License Apache License 2.0
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.

tinf

Posts with mentions or reviews of tinf. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-18.
  • Hello, PNG
    13 projects | news.ycombinator.com | 18 Jan 2023
    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

    [2] https://github.com/jibsen/tinf/tree/master/src

  • EzGz - An easy to use single header no dependency library for decompression of .gz archives written in modern C++ (probably faster than zlib)
    4 projects | /r/cpp | 15 Nov 2022
    Right now I'm using a C library (https://github.com/jibsen/tinf) due to size constraints. Adding a few hundred kB is prohibitive in that space.

nflate

Posts with mentions or reviews of nflate. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-11-24.
  • Decompressing a Gzip File by Hand
    2 projects | news.ycombinator.com | 24 Nov 2021
    Programming a gzip (deflate) decompressor is a really good learning project. I did it last year, ultimately producing a pretty poor but working implementation [0]. I ended up modifying Mark Adler's puff example program to see the intermediary tables it produces to help debug my own implementation. I wish I had known about infgen (also by Adler). The other resource I would recommend, beyond the official specs is this article by Joshua Davies[1], also mentioned in the original post here.

    [0]: https://github.com/davecom/nflate

What are some alternatives?

When comparing tinf and nflate you can also consider the following projects:

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.

infgen - Deflate disassember to convert a deflate, zlib, or gzip stream into a readable form.

figlet-fonts - my collection of figlet / toilet ascii art fonts

canvas_ity - A tiny, single-header <canvas>-like 2D rasterizer for C++

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).

libpng - LIBPNG: Portable Network Graphics support, official libpng repository

minlzma - The Minimal LZMA (minlzma) project aims to provide a minimalistic, cross-platform, highly commented, standards-compliant C library (minlzlib) for decompressing LZMA2-encapsulated compressed data in LZMA format within an XZ container, as can be generated with Python 3.6, 7-zip, and xzutils

fpng - Super fast C++ .PNG writer/reader

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

UNITS - a compile-time, header-only, dimensional analysis and unit conversion library built on c++14 with no dependencies.

dichotomic-compression - Image compression algorithm, developed for research and educational purposes