-
Notifications
You must be signed in to change notification settings - Fork 449
Performance regression in EventsExecutor on jazzy #2799
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
Comments
Ahh! We justed started a deep-dive and came to the same conclusion... |
This issue has been mentioned on ROS Discourse. There might be relevant details there: https://discourse.ros.org/t/new-packages-and-patch-release-4-for-jazzy-jalisco-2025-04-07/43100/3 |
@jmachowinski and @alsora FYI. |
I'll have a look |
@jmachowinski I just ran a very quick test from your branch, but unfortunately the issue is still there... Thanks for the quick effort though! |
How exactly did you test ? I checked with the procedure described in the first post, and the issue is solved for me using the patch. I just rechecked it on a second PC. diff --git a/action_tutorials/action_tutorials_cpp/CMakeLists.txt b/action_tutorials/action_tutorials_cpp/CMakeLists.txt
index 56fa718..d3b1ea9 100644
--- a/action_tutorials/action_tutorials_cpp/CMakeLists.txt
+++ b/action_tutorials/action_tutorials_cpp/CMakeLists.txt
@@ -29,7 +29,7 @@ add_library(action_tutorials SHARED
src/fibonacci_action_client.cpp
src/fibonacci_action_server.cpp)
rclcpp_components_register_node(action_tutorials PLUGIN "action_tutorials_cpp::FibonacciActionClient" EXECUTABLE fibonacci_action_client)
-rclcpp_components_register_node(action_tutorials PLUGIN "action_tutorials_cpp::FibonacciActionServer" EXECUTABLE fibonacci_action_server)
+rclcpp_components_register_node(action_tutorials PLUGIN "action_tutorials_cpp::FibonacciActionServer" EXECUTABLE fibonacci_action_server EXECUTOR EventsExecutor)
target_compile_definitions(action_tutorials
PRIVATE "ACTION_TUTORIALS_CPP_BUILDING_DLL")
ament_target_dependencies(action_tutorials
Without patch With patch |
From my side I can verify that the issue is resolved, both in the test case as well as the full system. @jmachowinski thanks for the quick fix! |
Hmm my bad, it seems during my test only rclcpp was build from source but rclcpp_action was not. Now testing again and the issue indeed seems solved. Thanks again for the quick fix! |
Operating System:
ubuntu 22
ROS version or commit hash:
jazzy
RMW implementation (if applicable):
rmw_cyclonedds_cpp and rmw_fastdds_cpp
RMW Configuration (if applicable):
No response
Client library (if applicable):
rclcpp
'ros2 doctor --report' output
No response
Steps to reproduce issue
rclcpp_components_register_node(action_tutorials PLUGIN "action_tutorials_cpp::FibonacciActionServer" EXECUTABLE fibonacci_action_server EXECUTOR EventsExecutor)
ros2 run action_tutorials_cpp fibonacci_action_server
Expected behavior
EventsExecutor has similar or less CPU load than SingleThreadedExecutor when running an idle action server
Running with SingleThreadedExecutor the CPU load is 0% (as nothing is happening)
Actual behavior
CPU load is significantly more than 0, e.g. 50%:
Additional information
When I revert #2674 , it behaves as expected
The text was updated successfully, but these errors were encountered: