Bsuccinct Rs Save

Rust libraries and programs focused on succinct data structures

Project README

Succinct data structures and other Rust libraries and programs by Piotr Beling.

Build Status License License

Included libraries:

  • ph (crate, doc) - minimal perfect hash functions (FMPH and FMPHGO);
  • csf (crate, doc) - compressed static functions (maps);
  • cseq (crate, doc) - compact sequences (new and not well tested yet);
  • minimum_redundancy (crate, doc) - encode and decode data with binary or non-binary Huffman coding;
  • fsum (crate, doc) - calculate accurate sum of floats;
  • bitm (crate, doc) - bit and bitmap manipulation;
  • binout (crate, doc) - binary encoding, decoding, serialization, deserialization;
  • dyn_size_of (crate, doc) - report approximate amount of memory consumed by variables, including the memory allocated on heap,
  • butils (crate, doc) - (internal) utilities shared by software included in BSuccinct.

Included programs:

  • mphf_benchmark (crate, doc) - benchmarking minimal perfect hash functions,
  • csf_benchmark (crate, doc) - benchmarking compressed static functions,
  • cseq_benchmark (crate, doc) - benchmarking compact sequences,
  • coding_benchmark (crate, doc) - benchmarking Huffman coding crates.

Everything is dual-licensed under Apache 2.0 or MIT.

Bibliography

When using bsuccinct for research purposes, please cite the following paper:

Installation

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

Installing rust programs

Once Rust is installed, to compile and install a program from sources and with native optimizations, just execute:

RUSTFLAGS="-C target-cpu=native" cargo install <program_name>

for example

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

Open Source Agenda is not affiliated with "Bsuccinct Rs" Project. README Source: beling/bsuccinct-rs

Open Source Agenda Badge

Open Source Agenda Rating