-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
perf: unpack velodyne packets in parallel #62
Conversation
@mebasoglu thank you for the PR. |
d7c901b
to
dce4a2d
Compare
Hello @drwnz , I undid the code formatting. |
Codecov ReportPatch coverage:
❗ Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the GitHub App Integration for your organization. Read more. Additional details and impacted files@@ Coverage Diff @@
## main #62 +/- ##
==========================================
+ Coverage 13.35% 21.76% +8.41%
==========================================
Files 111 49 -62
Lines 10989 6330 -4659
Branches 1725 1670 -55
==========================================
- Hits 1468 1378 -90
+ Misses 8345 3805 -4540
+ Partials 1176 1147 -29
Flags with carried forward coverage won't be shown. Click here to find out more.
☔ View full report in Codecov by Sentry. |
dce4a2d
to
bd7d9f4
Compare
We see two issues with the PR
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hello, thank you for your feedbacks. We prioritized adding Robosense support at Leo Drive side, after that I will have a look at other issues. Thank you. |
If the following issue: is resolved, then the parallelization wouldn't be necessary anymore since we wouldn't be waiting for the entire revolution to finish before starting the unpacking process. |
Hi @mebasoglu, thank you for your work. Our reasoning and details can be found in this comment on Thank you for your understanding and your continued support! |
PR Type
Related Links
Description
The issue: #61
Review Procedure
On the
nebula_decoders
package, I have created another interface calledParallelUnpack
. The decoder classes for each Velodyne model inheritsParallelUnpack
alongsideVelodyneScanDecoder
.On the
velodyne_driver.cpp
, I converted the for loop to a parallelfor_each
. The unpack method is called in parallel and every Velodyne packet unpacks into a seperate point cloud. Then, at the end, whenget_pointcloud()
is called, al the clouds are merged into a single one. Overall, the unpack process was speeded up.Remarks
VLS-128
produces a lot of packets and processing it takes too much time. This improvement tends to speed up this process.Pre-Review Checklist for the PR Author
PR Author should check the checkboxes below when creating the PR.
Checklist for the PR Reviewer
Reviewers should check the checkboxes below before approval.
Post-Review Checklist for the PR Author
PR Author should check the checkboxes below before merging.
CI Checks