-
Notifications
You must be signed in to change notification settings - Fork 145
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
feat(include_launch_description): only check required arguments in the local launch file #746
base: rolling
Are you sure you want to change the base?
feat(include_launch_description): only check required arguments in the local launch file #746
Conversation
Signed-off-by: Owen-Liuyuxuan <[email protected]>
Signed-off-by: Owen-Liuyuxuan <[email protected]>
Working on methods to pass this case while keeping the complexity manageable. |
Signed-off-by: Owen-Liuyuxuan <[email protected]>
Signed-off-by: Owen-Liuyuxuan <[email protected]>
Signed-off-by: Owen-Liuyuxuan <[email protected]>
Signed-off-by: Owen-Liuyuxuan <[email protected]>
Signed-off-by: Owen-Liuyuxuan <[email protected]>
For more context, how significant of a speedup are you seeing by only checking the required args? |
This image showcases how it accelerates the logging simulation of the OSC [autoware] (https://github.com/autowarefoundation/autoware). Numbers are time spent in the execute function of To reproduce:
Intuition: |
Any updates on the review process? Thanks a lot for the maintenance of the code. The new commits from main for new the ROS version breaks the CI again. Need to figure out what is new. |
Merge commit does not produce any new reports and the CI fails. I will have to push some dummy commit here. by April 2. The CI errors does not look like to be related to the PR. Waiting for updates. Would love to hear more information about the CI here, it does not look like related to the PR . Sorry for the mention @mjcarroll @clalancette . |
0f2957a
to
2cd6fa7
Compare
Added a branch on my personal repo git clone https://github.com/Owen-Liuyuxuan/launch.git
git checkout feat/augment_check_skipping_install
./install2ros.sh |
@mjcarroll In our internal system, we have been installing the accelerated version instead when we conduct the system setup. |
Description
In a feature request issue on #745. It suggests that the argument checking mechanism in
include_launch_description.py
introduces unnecessary overhead for launching large systems.In this PR, a mechanism is implemented so that the best-effort argument checking is only performed inside the local launch file instance and checks on each included sub-launch file are only performed once.
Methods
Add an argument to the
get_launch_arguments_with_include_launch_description_actions
function.Testing
Tested with autoware. If the launch file is OK, we could now launch significantly faster. If the launch file has un-declared arguments even if it is hidden in the sub-sub included files, the launch system can identify the problem and stop the launch operation cleanly (it also keeps up with the cases in CI).
Feedback is welcome.