Оптимизация внешней компоненты 1С "RabbitMQ" на C/C++

https://www.fl.ru/projects/5463092/optimizatsiya-vneshney-komponentyi-1s-rabbitmq-na-c-c.html

Цель: Требуется оптимизировать загрузку ЦП внешней компонентой 1С, реализованной на C/C++, и предназначенной для интеграции 1С и брокера сообщений "RabbitMQ".

Описание проблемы: При вызове метода компоненты "Connect" наблюдается повышение загрузки ЦП на 25%, т.е. фактически не выполняя еще каких-либо операций с брокером ЦП уже на 1/4 чем-то занят. Есть предположение, что при вызове этого метода в компоненте выполняется какой-то бесконечный цикл ожидания, который бесполезно сильно нагружает ЦП.

Возможные варианты решения: Блокирующие циклы без sleep / условной ожидалки  busy-wait и 100% CPU; Фоновые таски «крутят» CPU при ожидании состояния/разрыве; При разрыве соединения цикл продолжает без паузы — CPU 100%, сервер 1С «подвисает»; Надо заменить busy-wait на event-driven (condition_variable / std::future / event loop) или как минимум вставить экспоненциальный backoff/sleep при ошибках. В контексте AMQP-CPP — использовать callback-архитектуру (onConnected/onClosed) вместо постоянного опроса.

Проект компоненты: Исходники: github.com/BITERP/PinkRab... Тикет на оптимизацию: github.com/BITERP/PinkRab...