gbiggs
16
You are right about use-time difficulty; I hadn’t thought of that. The less that can go wrong, the better, from that perspective.
I agree that investigation is necessary. I originally envisioned the ROS tools like rostopic using the DDS stack to get the information, with the REST interface being a convenience thing for makers of tools that benefit from not using the whole ROS stack. @dirk-thomas would prefer it be the other way around, I think.
Anyway, I spent some time today hacking a wholely-unscientific benchmark into the add_two_ints_client example. Here are my results, based on 100 runs on a 2015 macbook pro (because for some reason alpha8 just point blank doesn’t run on my Ubuntu desktop and I haven’t had time to figure out why yet). Times are in seconds.
minimum first quartile median mean third quartile maximum
rclcpp::init 0.000041 0.000049 0.000051 0.000052 0.000053 0.000071
rclcpp:node::make_shared 0.005342 0.005714 0.005867 0.005948 0.006078 0.007536
node->create_client 0.005635 0.005979 0.006139 0.006234 0.006385 0.008588
make_shared request 0.005643 0.005987 0.006147 0.006243 0.006394 0.008600
wait_for_service 0.008758 0.009588 0.010619 0.030617 0.011594 1.011910
async_send_request 0.008900 0.009737 0.010776 0.030780 0.011735 1.012290
receive result 0.224500 0.232855 0.235795 0.251124 0.238558 1.015980
rcpcpp::shutdown 0.224662 0.233006 0.235900 0.251237 0.238677 1.016050
1 Like