MCPcopy Index your code
hub / github.com/RoaringBitmap/roaring-rs

github.com/RoaringBitmap/roaring-rs @v0.11.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.11.4 ↗ · + Follow
1,070 symbols 3,088 edges 73 files 118 documented · 11%
What it actually does AI analysis from the code graph — generated when you open this
loading…
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

  • Apache License, Version 2.0 (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
  • MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)

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.

Extension points exported contracts — how you extend this code

MultiOps (Interface)
A [`Iterator::collect`] blanket implementation that provides extra methods for [`RoaringBitmap`] and [`RoaringTreemap`]. [8 …
roaring/src/lib.rs
BinaryOperationVisitor (Interface)
This visitor pattern allows multiple different algorithms to be written over the same data For example: vectorized algor [2 …
roaring/src/bitmap/store/array_store/visitor.rs
Op (Interface)
(no doc) [4 implementers]
roaring/src/treemap/multiops.rs
SliceIterator (Interface)
(no doc) [2 implementers]
roaring/src/bitmap/store/interval_store.rs

Core symbols most depended-on inside this repo

iter
called by 177
roaring/src/bitmap/iter.rs
insert
called by 84
roaring/src/bitmap/inherent.rs
clone
called by 83
roaring/src/bitmap/inherent.rs
run_len
called by 72
roaring/src/bitmap/store/interval_store.rs
len
called by 71
roaring/src/bitmap/inherent.rs
len
called by 57
roaring/src/bitmap/store/array_store/mod.rs
insert_range
called by 54
roaring/src/bitmap/inherent.rs
as_slice
called by 44
roaring/src/bitmap/store/array_store/mod.rs

Shape

Function 555
Method 457
Class 38
Enum 16
Interface 4

Languages

Rust100%

Modules by API surface

roaring/src/bitmap/store/interval_store.rs185 symbols
roaring/src/bitmap/store/array_store/mod.rs63 symbols
roaring/src/bitmap/store/bitmap_store.rs60 symbols
roaring/src/bitmap/store/mod.rs52 symbols
roaring/src/bitmap/container.rs49 symbols
roaring/src/bitmap/inherent.rs43 symbols
roaring/tests/iter_next_range.rs32 symbols
roaring/src/bitmap/iter.rs31 symbols
roaring/tests/serialization.rs30 symbols
roaring/tests/iter_advance_to.rs27 symbols
roaring/src/treemap/iter.rs26 symbols
roaring/src/treemap/inherent.rs24 symbols

For agents

$ claude mcp add roaring-rs \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page