Hello!
I was profiling some nodes in my project recently and noticed an issue in case of high incoming messages rate(~2-3K hz). In this case rcl_wait consumes significant amount of CPU. About 30-50% of rcl_wait execution time is rcutils_logging_logger_is_enabled_for:

It looks like most of overhead can be eliminated by removing rcutils_logging_severity_level_from_string and switching to integral log_level as mentioned in comment here and here
Hello!

I was profiling some nodes in my project recently and noticed an issue in case of high incoming messages rate(~2-3K hz). In this case
rcl_waitconsumes significant amount of CPU. About 30-50% ofrcl_waitexecution time isrcutils_logging_logger_is_enabled_for:It looks like most of overhead can be eliminated by removing
rcutils_logging_severity_level_from_stringand switching to integrallog_levelas mentioned in comment here and here