Zstandard for Ada - Fast real-time compression algorithm
Ada bindings for Zstd native library that can highly compress data rapidly and without loss.
Zstd, short for Zstandard, is a new lossless compression algorithm, which provides both good compression ratio and speed for your standard compression needs. "Standard" translates into everyday situations which neither look for highest possible ratio (which LZMA and ZPAQ cover) nor extreme speeds (which LZ4 covers).
Zstd is developed by Yann Collet and the source is available at: https://github.com/facebook/zstd
The motivation for development, the algorithm used and its properties are explained in the blog post that introduces the library: http://fastcompression.blogspot.com/2015/01/zstd-stronger-compression-algorithm.html
The API methods in the shared library are supported, including:
- standard compression
- standard decompression
- compression using a dictionary
- decompression using a dictionary
- streaming compression
- streaming decompression
These work using either providing strings as input (and strings are returned) or using files as input (and files are produced). Using helper functions to read and write entire files, the user could also read files and receive strings as the result (and vice-versa).
Check the comments in zstandard-functions.ads. There are several test cases located in the examples directory that illustrate the simplicity of use of the bindings as well.
The bindings have been released under the ISC license.