ROS 1 noetic:
#include <ros/ros.h>
int main(int argc, char** argv) {
ros::init(argc, argv, "~");
ros::NodeHandle nh("~");
std::chrono::time_point<std::chrono::system_clock>
start = std::chrono::high_resolution_clock::now();
u_int64_t cout=0;
for(int i=0;i<123456789;i++){
cout++;
}
std::chrono::time_point<std::chrono::system_clock>
end = std::chrono::high_resolution_clock::now();
std::chrono::duration<double> duration = end - start;
std::cout<<"cout: "<<cout<<std::endl;
std::cout<<"Ros1 noetic(ms): "<<duration.count() * 1000<<std::endl;
return 0;
}
ROS2 foxy:
#include <rclcpp/rclcpp.hpp>
int main(int argc, char** argv) {
rclcpp::init(argc, argv);
auto node = std::make_shared<rclcpp::Node>("test_ros");
std::chrono::time_point<std::chrono::system_clock>
start = std::chrono::high_resolution_clock::now();
u_int64_t cout=0;
for(int i=0;i<123456789;i++){
cout++;
}
std::chrono::time_point<std::chrono::system_clock>
end = std::chrono::high_resolution_clock::now();
std::chrono::duration<double> duration = end - start;
std::cout<<"cout: "<<cout<<std::endl;
std::cout<<"Ros2 foxy(ms): "<<duration.count() * 1000<<std::endl;
return 0;
}
Comparison of time consumption results: