我将使用信号和插槽将数据向上/向下传递到一个5-10层的对象。这将导致每秒几千个信号。这远远不是“我点击了一个按钮”。我的所有对象也会在大约每隔100ms的定时器上向他们发出信号,这样他们就可以进行一些处理。
什么是最快的C++信号/插槽实现,它会很小,并且不需要boost等其他库。(我需要保持我的二进制文件的总大小非常小)。
我看过libSigC++,sigSlot,Cpp-事件
发布于 2011-05-07 05:04:47
pbhogan的Signals怎么样:
https://github.com/pbhogan/Signals
它非常快(使用Don Clugston编写的FastDelegate代码-Ismael也提到过),而且非常容易使用。我已经使用它一段时间了,没有任何问题。
发布于 2010-03-11 00:19:54
通常,信号库的设计目的是为了便于使用,而不是考虑到高性能。你可以检查这个article,这可能对你追求快速执行很有帮助。
在你的情况下,我会开始尝试更简单的,比如sigslot。但在这种情况下我不会使用信号库...可能是某种消息队列,带有某种时间戳。
发布于 2010-07-21 20:25:37
即使是最复杂和功能丰富的信号/槽库也是相当轻量级的。在大多数情况下,信号发出的速度可与虚函数调用相媲美。在使用诸如boost::signals和libsigc++之类的模板驱动的库的情况下,您可以获得与传递函数指针基本相同的性能。
https://stackoverflow.com/questions/2418422
复制相似问题