RoaringBitmap/roaring-rs

A better compressed bitset in Rust

957

stars

1,106

commits

Rust

primary language

Aug 12, 2026

updated

docs.rs/roaring/
bitset
bitset-library
roaring-bitmaps
rust

README

RoaringBitmap github-actions-badge release-badge docs-badge rust-version-badge

This is a Rust port of the Roaring bitmap data structure, initially defined as a Java library and described in Better bitmap performance with Roaring bitmaps.

Rust version policy

This crate only supports the current stable version of Rust, patch releases may use new features at any time.

Developing

This project uses Clippy, rustfmt, and denies warnings in CI builds. Available via rustup component add clippy rustfmt.

To ensure your changes will be accepted please check them with:

cargo fmt -- --check
cargo clippy --all-targets -- -D warnings

In addition, ensure all tests are passing with cargo test

Benchmarking

It is recommended to run the cargo bench command. The benchmarks directory contains a library that is dedicated to benchmarking the Roaring library by using a set of real-world datasets. It is also advised to run the benchmarks on a bare-metal machine, running them on the base branch and then on the contribution PR branch to better see the changes.

Those benchmarks are designed on top of the Criterion library, you can read more about it on the user guide.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.

Experimental features

The simd feature is in active development. It has not been tested. If you would like to build with simd note that std::simd is only available in Rust nightly.

Contributors

(top 30 of 47)

Kerollmops

291 commits

Nemo157

214 commits

saik0

139 commits

bors[bot]

112 commits

RoaringBitmap/roaring-rs

A better compressed bitset in Rust

957

stars

1,106

commits

Rust

primary language

Aug 12, 2026

updated

docs.rs/roaring/
bitset
bitset-library
roaring-bitmaps
rust

README

RoaringBitmap github-actions-badge release-badge docs-badge rust-version-badge

This is a Rust port of the Roaring bitmap data structure, initially defined as a Java library and described in Better bitmap performance with Roaring bitmaps.

Rust version policy

This crate only supports the current stable version of Rust, patch releases may use new features at any time.

Developing

This project uses Clippy, rustfmt, and denies warnings in CI builds. Available via rustup component add clippy rustfmt.

To ensure your changes will be accepted please check them with:

cargo fmt -- --check
cargo clippy --all-targets -- -D warnings

In addition, ensure all tests are passing with cargo test

Benchmarking

It is recommended to run the cargo bench command. The benchmarks directory contains a library that is dedicated to benchmarking the Roaring library by using a set of real-world datasets. It is also advised to run the benchmarks on a bare-metal machine, running them on the base branch and then on the contribution PR branch to better see the changes.

Those benchmarks are designed on top of the Criterion library, you can read more about it on the user guide.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.

Experimental features

The simd feature is in active development. It has not been tested. If you would like to build with simd note that std::simd is only available in Rust nightly.

Contributors

(top 30 of 47)

Kerollmops

291 commits

Nemo157

214 commits

saik0

139 commits

bors[bot]

112 commits

Languages

Rust

100.0%