I built a project that implemented intervaltree in Rust and exposed PyO3 bindings as a drop-in replacement for Python's native intervaltree. It is significantly faster, and I will be adding more features, such as AVL and red-black trees for balancing.
eru•1h ago
If you want balanced trees, have a look at what Rust's standard library does with BTreeMap.
jeffparsons•1h ago
And with a little work you can even use them to map ranges of keys to values in a way that's reminiscent of interval trees — e.g. https://crates.io/crates/rangemap. (Disclosure: that's my crate.)
eru•1h ago
Nice! I was only suggesting considering BTrees because they also play nice with caches, instead of the more conventional binary tree balancing mechanisms.
stefanka•1h ago
Will you publish it as a crate too?
2Pacalypse-•26m ago
Pretty cool to have this in Rust, might be useful if/when I decide to move some functionality from TS -> Rust.
athekunal•3d ago
eru•1h ago
jeffparsons•1h ago
eru•1h ago
stefanka•1h ago