boost ::函数内存使用情况

时间:2010-11-29 19:17:21

标签: c++ performance boost memory-management boost-function

我正在考虑在我的计时器管理器实现中使用boost::function。在调度计时器中,将传递boost::function,并且在计时器到期时将执行回调。时间将以高频率(约1000次/秒)安排/取消。

但我担心堆内存boost::function可能会使用的数量。

我知道boost::asio使用boost::function很多,而库的性能要求可能非常高。

您怎么看?

3 个答案:

答案 0 :(得分:3)

在我看来,boost::function的开销不太可能是计时器管理代码中的门控因素。

获取计时器队列,锁定和发信号等待线程的正确和高效是一个更好的使用你的大脑周期。反过来说,这是{em>赞成 boost::function或类似的另一个论点,以避免头痛与'原始'回调。

答案 1 :(得分:2)

boost :: function是一个相当小的对象。可能是普通函数指针大小的2-3倍(如果有的话)。

答案 2 :(得分:2)

看看this article,可能会给你一些看法。