Small matrix calc speedup in collision_distance_field_types#666
Merged
AndyZe merged 4 commits intomoveit:mainfrom Oct 2, 2021
Merged
Small matrix calc speedup in collision_distance_field_types#666AndyZe merged 4 commits intomoveit:mainfrom
AndyZe merged 4 commits intomoveit:mainfrom
Conversation
Codecov Report
@@ Coverage Diff @@
## main #666 +/- ##
==========================================
- Coverage 54.19% 54.18% -0.01%
==========================================
Files 192 192
Lines 20187 20187
==========================================
- Hits 10939 10936 -3
- Misses 9248 9251 +3
Continue to review full report at Codecov.
|
henningkayser
approved these changes
Sep 28, 2021
Contributor
|
I'm curious: did you measure a real speed-up here? I would expect Eigen to be smart enough here |
Member
Author
|
I didn't actually benchmark it... |
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.
I thought it would be a good idea to scour the codebase for places where the fact that (rotation matrix transpose) == (rot. matrix inverse) could be used to speed up calculations. Since a transpose is cheaper than an inverse.
This is the only place I found where that applies.
Eigen has some internal optimizations for Isometry3d types, but I doubt it's smart enough to look ahead and realize it only needs to invert the 3x3 rotation matrix.
Reviewers will need a slightly advanced background in linear algebra, which is why I tagged @mamoll and @v4hn.