Open ZhenshengLee opened 3 years ago
@ZhenshengLee rolling branch could be the master branch, or? Indeed, we saw recently from measurements with G and zero-copy that for payloads < 64k the default executor has a higher impact on latency than the copies you have when not doing zero-copy
@budrus
rolling branch could be the master branch
You are right, master
branch can be used when foxy
branch be merged into master, and galactic
branch is needed anyway.
Indeed, we saw recently from measurements with G and zero-copy that for payloads < 64k the default executor has a higher impact on latency than the copies you have when not doing zero-copy
I've git it a test using APEX's performance_test tool(see custom version https://github.com/ZhenshengLee/performance_test/commit/c71666d04935572e634203ea951b7f5fa3cc5f8c), and cpu usage reduced about 40% in the test below.
./colcon/install/performance_test/lib/performance_test/perf_test -c rclcpp-events-executor --msg Array1k -p 1 -s 10 -l log_sub
./colcon/install/performance_test/lib/performance_test/perf_test -c rclcpp-single-threaded-executor --msg Array1k -p 1 -s 10 -l log_sub
Thanks.
@ZhenshengLee I created the galactic
branch and raised a PR. Will update master
to work with rolling.
Brief feature description
Event queue executor was introduced recently by iRobot team as a strong mean to reduce the cpu overhead and latency by rclcpp layer.
See https://github.com/ros2/design/pull/305 for details.
AFAK, event queue executor + rmw_iceoryx + zenoh(mentioned in https://github.com/eclipse-iceoryx/iceoryx/issues/869) is much more performant than current default ros2 layers, both in latency and cpu usage.
So event queue executor would be implemented in rmw_iceoryx, perhaps in the
rolling
branch.First of all, may
galactic
androlling
branch being created based onfoxy
branch?@Karsten1987 @budrusThanks.