flat_rbtree
A fast, index-based Red-Black Tree with no heap allocations — ideal for systems where performance and memory layout matter.
Features
- Flat storage: all nodes are stored in a
Vec, avoiding pointer indirection. - No allocations per node: avoids
Box,Rc, orArc. - No-std friendly: suitable for embedded environments.
Usage
let mut tree = new;
tree.insert;
tree.update;
tree.search; // Some(&2)
tree.remove;
Benchmark: flat_rbtree vs rbtree (10,000 operations)
| Operation | flat_rbtree | rbtree |
|---|---|---|
| Insert | 1.93 ms (avg) | 3.02 ms (avg) |
| Remove | 2.49 ns | 0.41 ns |
| Search | 1.08 ms | 0.88 ms |
Results may vary depending on hardware and runtime conditions.
📝 License
This project is open-source under the MIT License.