Skip to content
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

[Draft] Merging the upstream/rolling EventsExecutor here #141

Open
wants to merge 2 commits into
base: irobot/humble
Choose a base branch
from

Conversation

jfinken
Copy link

@jfinken jfinken commented Feb 15, 2024

Getting this started. This PR pulls in the EventsExecutor code from the upstream rclcpp, rolling branch into here.
Locally:

  • the unit-tests passed
  • the examples run (including with the irobot_lock_free_events_queue (which remains where it is...)
  • I modified the iRobot ROS2-performance-framework to utilize this branch, and thus this EventsExecutor.

With respect to the ros2-performance framework, on an iRobot robot, I ran 60-sec white_mountain multiple times with each EventsExecutor:

  • the latency results are the same across the two EventsExecutors
  • however the CPU-utilization results are rather different

EventsExecutor from the dedicated iRobot repo, CPU-utilization, last line

61000          7.1       62812          58253          20828          81972          2578636        

"upstream" EventsExecutor, from the experimental namespace, CPU-utilization, last line

61000          9.4       62644          58278          20828          82116          2578488        
  • second column is the percent-util
  • 7.1% vs 9.4%, a 32% increase in CPU

Josh Finken added 2 commits February 9, 2024 11:04
The commit also includes a few test fixes and temporary comments
allowing the unit-tests, and the full package, to build.
Get the upstream executor_notify_waitable.cpp/.hpp and the
test_executors_timer_cancel_behavior unit-test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant