You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I find it a bit strange that there is an implementation of a generic heap data structure for the weighted sample elimination algorithm but the point cloud data structure used for nearest neighbor searches uses the standard C++ <algorithm> provided make_heap, push_heap, and pop_heap functions. It's especially strange (to me) since the commit that introduced the weighted sample elimination also introduced this max heap data structure. I assume the intent was to use it for both algorithms.
With some local testing here, converting the point cloud data structure to using cyHeap by creating a side-channel heap structure is slightly faster than using the standard C++ max heap algorithms in <algorithm>.
The text was updated successfully, but these errors were encountered:
I am surprised to hear this. The cy::Heap class was designed to allow random access and updates. I did not put much effort into optimizing it. I would expect the standard C++ max heap functions in <algorithm> to be better optimized.
I find it a bit strange that there is an implementation of a generic heap data structure for the weighted sample elimination algorithm but the point cloud data structure used for nearest neighbor searches uses the standard C++
<algorithm>
providedmake_heap
,push_heap
, andpop_heap
functions. It's especially strange (to me) since the commit that introduced the weighted sample elimination also introduced this max heap data structure. I assume the intent was to use it for both algorithms.With some local testing here, converting the point cloud data structure to using cyHeap by creating a side-channel heap structure is slightly faster than using the standard C++ max heap algorithms in
<algorithm>
.The text was updated successfully, but these errors were encountered: