baildon

A very simple B+Tree library.

Features:

```rust use baildon::tree::Baildon; use baildon::tree::Direction;

// Create a B+Tree with usize for key and value, branching factor 7 let tree = Baildon::::trynew("retrievekeysfromempty_tree.db", 7) .await .expect("creates tree file");

// Collect all our keys let keys = tree .keys(Direction::Ascending) .await .collect::>() .await;

// It should be empty, we didn't add any keys assert!(keys.is_empty());

// Remove our B+Tree file, we aren't going to use it again std::fs::removefile("retrievekeysfromempty_tree.db").expect("cleanup"); ```

Crates.io

API Docs

Installation

toml [dependencies] baildon = "0.1"

Examples

There are a few simple examples to show how to use the library:

sh cargo run --example hello cargo run --example streaming

Benchmarks

I've got some very simple benchmarks that I've used during development to look for regressions. I'll aim to improve these at some point.

sh cargo bench --bench baildon

License

Apache 2.0 licensed. See LICENSE for details.