Я собираюсь передать данные/вниз 5-10 многоуровневых объектов с помощью сигналов и слотов. Который должен привести к нескольким тысячам сигнала в секунду. Который является далекой формой, "Я нажал кнопку". Весь мой объект будет также сигнализировать о них сам на таймере о каждых 100 мс, таким образом, они смогут сделать некоторую обработку.
Что было бы самой быстрой реализацией Сигнала/Слота C++, которая будет маленькой и не потребует другой библиотеки, такой как повышение. (Я должен сохранить общий размер своего Двоичного файла очень небольшим).
Я видел libSigC ++, sigSlot, Cpp-события,
Часто библиотеки сигналов разрабатываются для простоты использования, а не с расчетом на высокую производительность. Вы можете проверить эту статью , которая может оказаться полезной при стремлении к быстрому выполнению.
В вашем случае я бы попробовал более простое, например sigslot. Но я бы не стал использовать сигнальную библиотеку при таких обстоятельствах ... возможно, это какая-то очередь сообщений с какой-то меткой времени.
Даже самые сложные и многофункциональные библиотеки сигналов/слотов довольно легковесны. Скорость выдачи сигнала в большинстве случаев сравнима с вызовом виртуальной функции. В случае библиотек, основанных на шаблонах, таких как boost::signals и libsigc++, вы получаете практически ту же производительность, что и при передаче указателей функций.