Über Open CoDE Software Wiki Diskussionen GitLab

Skip to content

Use more efficient ArcSwap instead of RwLock to manage bounding box trees.

Adam Reichold requested to merge (removed):arc-swap-bounding-box-trees into main

This also removes the not strictly necessary indirection of storing Arc<SegmentTree> instead of SegmentTree which we actually forgot to make use of in the previous version based on RwLock, i.e. we held the read lock for the whole time it took to query the tree instead of only to clone the inner Arc. This version will now clone the whole hash table via Arc::make_mut when changes are made but only does two Arc::clone per query and does not acquire any locks.

Merge request reports