-
-
Notifications
You must be signed in to change notification settings - Fork 6
Description
I've experimented with an alternate implementation of the Octree that stores all its point data in one large vector slab and stores indices to that slab in an octree: https://github.com/Stwend/spart_octree_vec
Deleting a point will mark its index in the slab as a tombstone, inserting a point will first try resurrecting a tombstone instead of pushing to the slab. As of now , bulk insertion is just a dummy that calls insert() on all suplied points in order with no optimization.
Benchmarks on my machine suggest improvements across the board:
Insert/Delete: both -65%
KNN Queries: -35%
Range queries: -75%
Tests are all still succeeding and the vector-backed implementation would also lend itself for easy iteration over all points.
If this has a chance of being added to this crate I'll open a PR draft for some further testing and a sibling implementation for QuadTree.