cyphal.rs
cyphal.rs copied to clipboard
Temporal complexity specification and AVL trees
I am currently refactoring libcanard to get rid of linear-complexity linked lists in favor of logarithmic-complexity AVL trees and it occurred to me that this library would benefit from adopting logarithmic pipelines from the start. There seem to be some decent-looking implementations of fast containers in Rust although I'm not sure if there is one that suits this project. I couldn't find one in C so I had to craft one myself, however, I don't expect this specific implementation to be easily portable to Rust as-is due to lifetime issues.
Related discussion:
- https://github.com/UAVCAN/libuavcan/issues/185
- https://github.com/UAVCAN/libuavcan/issues/189