Add benchmarking for knn and knn nanoflann#6267
Merged
mvieth merged 4 commits intoPointCloudLibrary:masterfrom Apr 18, 2025
Merged
Add benchmarking for knn and knn nanoflann#6267mvieth merged 4 commits intoPointCloudLibrary:masterfrom
mvieth merged 4 commits intoPointCloudLibrary:masterfrom
Conversation
mvieth
reviewed
Apr 16, 2025
Member
mvieth
left a comment
There was a problem hiding this comment.
Thanks for extending this benchmark! I have added a few comments.
Member
Edit: and please make sure that the formatting is correct, otherwise the checks will not pass. |
…nt since the other was ignored.
mvieth
approved these changes
Apr 18, 2025
Member
mvieth
left a comment
There was a problem hiding this comment.
Looks good now, thanks! By the way, here are the results if I run the benchmarks:
./benchmarks/benchmark_search_radius_search ../test/table_scene_mug_stereo_textured.pcd
-----------------------------------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------------------------------
OrganizedNeighborSearch 19.8 us 19.9 us 43569
KdTree 49.0 us 49.1 us 16203
KdTreeAll/iterations:1/manual_time 217 us 45313606 us 1 items_per_second=966.331M/s
KdTreeNanoflann 37.1 us 37.2 us 21170
and
./benchmarks/benchmark_search_radius_search ../test/table_scene_mug_stereo_textured.pcd 0.1 5
-----------------------------------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------------------------------
OrganizedNeighborSearch 5.78 us 5.79 us 100000
KdTree 1.41 us 1.42 us 470067
KdTreeAll/iterations:1/manual_time 1.24 us 258355 us 1 items_per_second=169.229G/s
KdTreeNanoflann 0.772 us 0.774 us 891644
So seems like OrganizedNeighbor is currently not the fastest if only a limited number of neighbors is needed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This updates the radius search benchmark to also benchmark kdtree and kdtree_nanoflann radius searches. Additional options are added to modify the radius or number of neighbors.
Results:
Changing the neighbor limit: