The performance of rclpy
is a topic we have also briefly discussed in some of the last client library WG meetings.
There’s definitely multiple issues there (both problems with large messages as well as problems with high frequency small messages).
Find a few more details here Client Library WG May 24th Notes.
The EventsExecutor
design is based on the RWM listener APIs (i.e. you can get a notification when an RMW entity receives a message) and these APIs could be exposed in Python quite easily (they are in rcl
).
It would be great if someone in the community wanted to try that.