-
Notifications
You must be signed in to change notification settings - Fork 676
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(common_ground_filter): performance tuning #5861
perf(common_ground_filter): performance tuning #5861
Conversation
Signed-off-by: taisa1 <[email protected]>
Signed-off-by: taisa1 <[email protected]>
Signed-off-by: taisa1 <[email protected]>
Signed-off-by: taisa1 <[email protected]>
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.
It would be great if this PR was modified to pass CodeScene.
perception/ground_segmentation/include/ground_segmentation/scan_ground_filter_nodelet.hpp
Outdated
Show resolved
Hide resolved
perception/ground_segmentation/src/scan_ground_filter_nodelet.cpp
Outdated
Show resolved
Hide resolved
perception/ground_segmentation/src/scan_ground_filter_nodelet.cpp
Outdated
Show resolved
Hide resolved
perception/ground_segmentation/src/scan_ground_filter_nodelet.cpp
Outdated
Show resolved
Hide resolved
perception/ground_segmentation/src/scan_ground_filter_nodelet.cpp
Outdated
Show resolved
Hide resolved
perception/ground_segmentation/src/scan_ground_filter_nodelet.cpp
Outdated
Show resolved
Hide resolved
perception/ground_segmentation/src/scan_ground_filter_nodelet.cpp
Outdated
Show resolved
Hide resolved
Signed-off-by: taisa1 <[email protected]>
Signed-off-by: taisa1 <[email protected]>
@taisa1 |
This is the result of TIER IV CI test. TIER IV internal link |
Signed-off-by: taisa1 <[email protected]>
Signed-off-by: taisa1 <[email protected]>
Signed-off-by: taisa1 <[email protected]>
I found that some variables I added have to be updated when corresponding parameter changes, but I hadn't implemented it. This might cause failure so I fixed it. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #5861 +/- ##
==========================================
+ Coverage 14.78% 14.79% +0.01%
==========================================
Files 1917 1917
Lines 132046 132109 +63
Branches 39228 39252 +24
==========================================
+ Hits 19523 19548 +25
- Misses 90734 90766 +32
- Partials 21789 21795 +6
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Thanks! |
Signed-off-by: atsushi421 <[email protected]>
…r-scan_ground_filter
@miursh |
@badai-nguyen
|
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.
@taisa1 @atsushi421 I deeply appreciate your improvement.
I confirmed by logging_simulator
that the obstacle_segmentation/pointcloud
as before and the processing time of /perception/obstacle_segmentation/common_ground_filter
node is improved.
Before | After |
---|---|
CI tested result also shows the acceptable pass rate.
LGTM!
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <[email protected]> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * refactor: reflect review Signed-off-by: taisa1 <[email protected]> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <[email protected]> * test: change unit test to use faster_filter Signed-off-by: taisa1 <[email protected]> * test: fixed compile error Signed-off-by: taisa1 <[email protected]> * fix: add lacking parameter callback Signed-off-by: taisa1 <[email protected]> * fix: uninitialized valuabe Signed-off-by: atsushi421 <[email protected]> --------- Signed-off-by: taisa1 <[email protected]> Signed-off-by: atsushi421 <[email protected]> Co-authored-by: taisa1 <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <[email protected]> Co-authored-by: atsushi421 <[email protected]> Signed-off-by: Kotaro Yoshimoto <[email protected]>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <[email protected]> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * refactor: reflect review Signed-off-by: taisa1 <[email protected]> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <[email protected]> * test: change unit test to use faster_filter Signed-off-by: taisa1 <[email protected]> * test: fixed compile error Signed-off-by: taisa1 <[email protected]> * fix: add lacking parameter callback Signed-off-by: taisa1 <[email protected]> * fix: uninitialized valuabe Signed-off-by: atsushi421 <[email protected]> --------- Signed-off-by: taisa1 <[email protected]> Signed-off-by: atsushi421 <[email protected]> Co-authored-by: taisa1 <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <[email protected]> Co-authored-by: atsushi421 <[email protected]> Signed-off-by: kaigohirao <[email protected]>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <[email protected]> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * refactor: reflect review Signed-off-by: taisa1 <[email protected]> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <[email protected]> * test: change unit test to use faster_filter Signed-off-by: taisa1 <[email protected]> * test: fixed compile error Signed-off-by: taisa1 <[email protected]> * fix: add lacking parameter callback Signed-off-by: taisa1 <[email protected]> * fix: uninitialized valuabe Signed-off-by: atsushi421 <[email protected]> --------- Signed-off-by: taisa1 <[email protected]> Signed-off-by: atsushi421 <[email protected]> Co-authored-by: taisa1 <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <[email protected]> Co-authored-by: atsushi421 <[email protected]>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <[email protected]> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * refactor: reflect review Signed-off-by: taisa1 <[email protected]> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <[email protected]> * test: change unit test to use faster_filter Signed-off-by: taisa1 <[email protected]> * test: fixed compile error Signed-off-by: taisa1 <[email protected]> * fix: add lacking parameter callback Signed-off-by: taisa1 <[email protected]> * fix: uninitialized valuabe Signed-off-by: atsushi421 <[email protected]> --------- Signed-off-by: taisa1 <[email protected]> Signed-off-by: atsushi421 <[email protected]> Co-authored-by: taisa1 <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <[email protected]> Co-authored-by: atsushi421 <[email protected]>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <[email protected]> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * refactor: reflect review Signed-off-by: taisa1 <[email protected]> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <[email protected]> * test: change unit test to use faster_filter Signed-off-by: taisa1 <[email protected]> * test: fixed compile error Signed-off-by: taisa1 <[email protected]> * fix: add lacking parameter callback Signed-off-by: taisa1 <[email protected]> * fix: uninitialized valuabe Signed-off-by: atsushi421 <[email protected]> --------- Signed-off-by: taisa1 <[email protected]> Signed-off-by: atsushi421 <[email protected]> Co-authored-by: taisa1 <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <[email protected]> Co-authored-by: atsushi421 <[email protected]>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <[email protected]> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * refactor: reflect review Signed-off-by: taisa1 <[email protected]> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <[email protected]> * test: change unit test to use faster_filter Signed-off-by: taisa1 <[email protected]> * test: fixed compile error Signed-off-by: taisa1 <[email protected]> * fix: add lacking parameter callback Signed-off-by: taisa1 <[email protected]> * fix: uninitialized valuabe Signed-off-by: atsushi421 <[email protected]> --------- Signed-off-by: taisa1 <[email protected]> Signed-off-by: atsushi421 <[email protected]> Co-authored-by: taisa1 <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <[email protected]> Co-authored-by: atsushi421 <[email protected]>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <[email protected]> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * refactor: reflect review Signed-off-by: taisa1 <[email protected]> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <[email protected]> * test: change unit test to use faster_filter Signed-off-by: taisa1 <[email protected]> * test: fixed compile error Signed-off-by: taisa1 <[email protected]> * fix: add lacking parameter callback Signed-off-by: taisa1 <[email protected]> * fix: uninitialized valuabe Signed-off-by: atsushi421 <[email protected]> --------- Signed-off-by: taisa1 <[email protected]> Signed-off-by: atsushi421 <[email protected]> Co-authored-by: taisa1 <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <[email protected]> Co-authored-by: atsushi421 <[email protected]>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <[email protected]> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * refactor: reflect review Signed-off-by: taisa1 <[email protected]> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <[email protected]> * test: change unit test to use faster_filter Signed-off-by: taisa1 <[email protected]> * test: fixed compile error Signed-off-by: taisa1 <[email protected]> * fix: add lacking parameter callback Signed-off-by: taisa1 <[email protected]> * fix: uninitialized valuabe Signed-off-by: atsushi421 <[email protected]> --------- Signed-off-by: taisa1 <[email protected]> Signed-off-by: atsushi421 <[email protected]> Co-authored-by: taisa1 <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <[email protected]> Co-authored-by: atsushi421 <[email protected]>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <[email protected]> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * refactor: reflect review Signed-off-by: taisa1 <[email protected]> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <[email protected]> * test: change unit test to use faster_filter Signed-off-by: taisa1 <[email protected]> * test: fixed compile error Signed-off-by: taisa1 <[email protected]> * fix: add lacking parameter callback Signed-off-by: taisa1 <[email protected]> * fix: uninitialized valuabe Signed-off-by: atsushi421 <[email protected]> --------- Signed-off-by: taisa1 <[email protected]> Signed-off-by: atsushi421 <[email protected]> Co-authored-by: taisa1 <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <[email protected]> Co-authored-by: atsushi421 <[email protected]>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <[email protected]> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * refactor: reflect review Signed-off-by: taisa1 <[email protected]> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <[email protected]> * test: change unit test to use faster_filter Signed-off-by: taisa1 <[email protected]> * test: fixed compile error Signed-off-by: taisa1 <[email protected]> * fix: add lacking parameter callback Signed-off-by: taisa1 <[email protected]> * fix: uninitialized valuabe Signed-off-by: atsushi421 <[email protected]> --------- Signed-off-by: taisa1 <[email protected]> Signed-off-by: atsushi421 <[email protected]> Co-authored-by: taisa1 <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <[email protected]> Co-authored-by: atsushi421 <[email protected]>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <[email protected]> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * refactor: reflect review Signed-off-by: taisa1 <[email protected]> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <[email protected]> * test: change unit test to use faster_filter Signed-off-by: taisa1 <[email protected]> * test: fixed compile error Signed-off-by: taisa1 <[email protected]> * fix: add lacking parameter callback Signed-off-by: taisa1 <[email protected]> * fix: uninitialized valuabe Signed-off-by: atsushi421 <[email protected]> --------- Signed-off-by: taisa1 <[email protected]> Signed-off-by: atsushi421 <[email protected]> Co-authored-by: taisa1 <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <[email protected]> Co-authored-by: atsushi421 <[email protected]>
* perf(scan_ground_filter): performance tuning Signed-off-by: taisa1 <[email protected]> * perf(scan_ground_filter): improved performance Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * chore: refactoring Signed-off-by: taisa1 <[email protected]> * refactor: reflect review Signed-off-by: taisa1 <[email protected]> * style(pre-commit): autofix * fix: remove unnecessary comment Signed-off-by: taisa1 <[email protected]> * test: change unit test to use faster_filter Signed-off-by: taisa1 <[email protected]> * test: fixed compile error Signed-off-by: taisa1 <[email protected]> * fix: add lacking parameter callback Signed-off-by: taisa1 <[email protected]> * fix: uninitialized valuabe Signed-off-by: atsushi421 <[email protected]> --------- Signed-off-by: taisa1 <[email protected]> Signed-off-by: atsushi421 <[email protected]> Co-authored-by: taisa1 <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: atsushi yano <[email protected]> Co-authored-by: atsushi421 <[email protected]>
Description
This PR makes scan_ground_filter (common_ground_filter) faster without changing the logical output.
The tail latency of the scan_ground_filter gets about x1.7 faster with this PR merged.
The main changes are as follows:
std::atan2
,pcl::PointCloud
.In addition, some small changes are made to improve performance.
Measurement Condition
・Ubuntu22.04 + ROS2 Humble + Autoware Universe rosbag simulation
・Core Isolated
・Core Frequency Fixed (2.3GHz)
・L3 Cache: 24MB
Related links
Tests performed
It has been verified that the content of output topics with the same timestamp is identical before and after the PR.
To reproduce
Download files from https://drive.google.com/drive/folders/1703DlE8MT0rksiQfZGR8A53wwrvMRSEc?usp=drive_link and run
python3 validator.py default.csv after.csv
for comparing results.Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.
In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.
Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.
After all checkboxes are checked, anyone who has write access can merge the PR.