{"id":15032396,"url":"https://github.com/beling/bsuccinct-rs","last_synced_at":"2025-04-08T02:36:57.526Z","repository":{"id":57514278,"uuid":"463525321","full_name":"beling/bsuccinct-rs","owner":"beling","description":"Rust libraries and programs focused on succinct data structures","archived":false,"fork":false,"pushed_at":"2024-10-22T11:30:09.000Z","size":970,"stargazers_count":132,"open_issues_count":0,"forks_count":10,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-03T09:12:24.056Z","etag":null,"topics":["algorithm","algorithms","algorithms-and-data-structures","benchmark","benchmarking","benchmarks","bit-manipulation","bitmap","bitmaps","compression","compression-algorithm","encoding","minimal-perfect-hash","rank","rust","rust-lang","serialization","succinct-data-structure"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/beling.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-25T12:32:40.000Z","updated_at":"2024-12-30T20:24:06.000Z","dependencies_parsed_at":"2023-02-11T15:00:41.773Z","dependency_job_id":"5f7d19c0-397c-442c-9f62-674dcb074345","html_url":"https://github.com/beling/bsuccinct-rs","commit_stats":{"total_commits":652,"total_committers":3,"mean_commits":"217.33333333333334","dds":"0.012269938650306789","last_synced_commit":"6bd5d82c774566a59bf6be5c1e97959de43859da"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beling%2Fbsuccinct-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beling%2Fbsuccinct-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beling%2Fbsuccinct-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beling%2Fbsuccinct-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/beling","download_url":"https://codeload.github.com/beling/bsuccinct-rs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247765800,"owners_count":20992367,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm","algorithms","algorithms-and-data-structures","benchmark","benchmarking","benchmarks","bit-manipulation","bitmap","bitmaps","compression","compression-algorithm","encoding","minimal-perfect-hash","rank","rust","rust-lang","serialization","succinct-data-structure"],"created_at":"2024-09-24T20:18:16.928Z","updated_at":"2025-04-08T02:36:57.497Z","avatar_url":"https://github.com/beling.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"Succinct data structures and other Rust libraries and programs by Piotr Beling.\n\n[![Build Status](https://img.shields.io/github/actions/workflow/status/beling/bsuccinct-rs/rust.yml?style=flat-square)](https://github.com/beling/bsuccinct-rs/actions/)\n[![](https://tokei.rs/b1/github/beling/bsuccinct-rs?type=Rust,Python\u0026style=flat-square)](https://github.com/beling/bsuccinct-rs)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue?style=flat-square)](LICENSE-APACHE)\n[![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](LICENSE-MIT)\n\nIncluded libraries:\n- `ph` ([crate](https://crates.io/crates/ph), [doc](https://docs.rs/ph)) - minimal perfect hash functions (FMPH and FMPHGO);\n- `csf` ([crate](https://crates.io/crates/csf), [doc](https://docs.rs/csf)) - compressed static functions (maps);\n- `cseq` ([crate](https://crates.io/crates/cseq), [doc](https://docs.rs/cseq)) - compact sequences (like Elias-Fano);\n- `minimum_redundancy` ([crate](https://crates.io/crates/minimum_redundancy), [doc](https://docs.rs/minimum_redundancy)) - encode and decode data with binary or non-binary Huffman coding;\n- `bitm` ([crate](https://crates.io/crates/bitm), [doc](https://docs.rs/bitm)) - bit and bitmap manipulation;\n- `seedable_hash` ([crate](https://crates.io/crates/seedable_hash), [doc](https://docs.rs/seedable_hash)) - seedable hashers,\n- `binout` ([crate](https://crates.io/crates/binout), [doc](https://docs.rs/binout)) - binary encoding, decoding, serialization, deserialization;\n- `fsum` ([crate](https://crates.io/crates/fsum), [doc](https://docs.rs/fsum)) - calculate accurate sum of floats;\n- `dyn_size_of` ([crate](https://crates.io/crates/dyn_size_of), [doc](https://docs.rs/dyn_size_of)) - calculate memory consumed by variables, including the memory allocated on heap,\n- `butils` ([crate](https://crates.io/crates/butils), [doc](https://docs.rs/butils)) - (internal) utilities shared by software included in BSuccinct.\n\nIncluded programs:\n- `mphf_benchmark` ([crate](https://crates.io/crates/mphf_benchmark), [doc](https://docs.rs/mphf_benchmark)) - benchmarking minimal perfect hash functions,\n- `csf_benchmark` ([crate](https://crates.io/crates/csf_benchmark), [doc](https://docs.rs/csf_benchmark)) - benchmarking compressed static functions,\n- `cseq_benchmark` ([crate](https://crates.io/crates/cseq_benchmark), [doc](https://docs.rs/cseq_benchmark)) - benchmarking compact sequences,\n- `coding_benchmark` ([crate](https://crates.io/crates/coding_benchmark), [doc](https://docs.rs/coding_benchmark)) - benchmarking Huffman coding crates.\n\nEverything is dual-licensed under [Apache 2.0](LICENSE-APACHE) or [MIT](LICENSE-MIT).\n\n# Bibliography\nWhen using `bsuccinct` for research purposes, please cite the following paper:\n- Piotr Beling, *BSuccinct: Rust libraries and programs focused on succinct data structures*, SoftwareX, Volume 26, 2024, 101681, ISSN 2352-7110,\n\u003chttps://doi.org/10.1016/j.softx.2024.101681\u003e\n\n# Installation\nPrograms can be compiled and installed from sources. To do this, a Rust compiler is needed.\nThe easiest way to obtain the compiler along with other necessary tools (like `cargo`) is\nto use [rustup](https://www.rust-lang.org/tools/install).\n\nPlease follow the instructions at https://www.rust-lang.org/tools/install.\n\n## Installing rust programs\nOnce Rust is installed, to compile and install a program from sources and with native optimizations, just execute:\n\n```RUSTFLAGS=\"-C target-cpu=native\" cargo install \u003cprogram_name\u003e```\n\nfor example\n\n```RUSTFLAGS=\"-C target-cpu=native\" cargo install mphf_benchmark```\n\n# Platforms with 32-bit addressing\nFor portability, BSuccinct components compile and run on platforms with 32-bit addressing (like wasm32). However, they are optimized primarily with 64-bit CPUs in mind.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeling%2Fbsuccinct-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbeling%2Fbsuccinct-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeling%2Fbsuccinct-rs/lists"}