0

要继续另一个问题,让我们问这个:

Boost 如何实现信号/槽机制?

请参阅: 信号和插槽是如何在幕后实现的? http://www.boost.org/doc/libs/1_40_0/doc/html/signals.html

4

1 回答 1

2

这是来自这个 gamedev.net 线程的一个有趣的片段,可以让讨论滚动起来

Spoonbender 的原始帖子 所以,额外的问题:是什么导致 boost::signals这么慢?

看起来有几个大人物。首先,尽管 boost::signals 不是线程安全的,但它会多次进入和离开临界区。其次,这个命名槽的东西似乎会导致过于复杂的数据结构,需要很长时间才能迭代。然后,它所做的各种家务事都会产生大量的镍和暗淡。最后,由于 boost::bind 的运行时效性,单个调用的开销要高得多。我确信有人需要这些功能,但我不需要。

于 2009-09-11T23:58:36.317 回答