This repository offers a high-performance KD-tree data structure, optimized using Single Instruction, Multiple Data (SIMD) operations, implemented in Rust.
- SIMD Optimization: KD-Tree operations that leverage the power of SIMD instructions.
- Memory Efficient: Utilizes memory arenas to keep memory allocations to a minimum, leading to faster performance.
-
Add Dependency: Include this in your
Cargo.toml
:[dependencies] simd-tree = { git = "https://github.com/bcmcmill/simd-tree" }
-
Use in Your Rust Project:
use simd_tree::{Node, Point, search, insert}; let mut points: Arena<Node> = Arena::new(); let root = insert(&mut points, None, [2.0, 3.0]); assert_eq!(search(&points, Some(root), [2.0, 3.0]), true);
Visit our documentation page for in-depth guides and API details.
See the performance benchmarks of our KD-Tree against other implementations here.
We welcome all contributors, whether you're looking to fix bugs, improve docs, or propose new features.
- Issues: Feel free to open issues for any feedback, bugs, or feature requests.
- Pull Requests: Submit PRs for enhancements, bug fixes, or documentation updates. Please ensure you follow our coding standards.
Before contributing, kindly read our Contribution Guidelines.
This library is distributed under the MIT License. See the LICENSE file for more details or check the license here.