coding_benchmark 0.1.2

The program for benchmarking Huffman coding algorithms
coding_benchmark-0.1.2 is not a library.

coding_benchmark is the program (by Piotr Beling) for benchmarking implementations of Huffman coding algorithms.

It can test the implementations included in the following crates:

Please run the program with the --help switch to see the available options.

Below you can find instruction for installing coding_benchmark and reproducing experiments performed with it, which can be found in published or under review papers. Note that these instructions have been tested under GNU/Linux and may require some modifications for other systems.

Installation

coding_benchmark can be compiled and installed from sources. To do this, a Rust compiler is needed. The easiest way to obtain the compiler along with other necessary tools (like cargo) is to use rustup.

Please follow the instructions at https://www.rust-lang.org/tools/install.

Once Rust is installed, just execute the following to install coding_benchmark with native optimizations:

RUSTFLAGS="-C target-cpu=native" cargo install coding_benchmark

Reproducing experiments from the papers

Rust libraries and programs focused on succinct data structures

(Piotr Beling Rust libraries and programs focused on succinct data structures submitted to SoftwareX)

To see the results for all implementations, 100MB (100*1024*1024=104857600) text of randomly drawn (with a non-uniform distribution) 1 byte symbols (with an entropy of 4.83 bits/symbol), just execute:

./coding_benchmark -t 100 -c 20 -l 104857600 all

Note that the -t 100 -c 20 switches force a long testing time (100s for warming up + about 100s for performing each test + 20s cooling/sleeping between tests). They can be omitted to get results faster, but averaged over fewer repetitions.