2010-11-29 72 views
2

我正在考慮在我的計時器管理器的實現中使用boost::function。在計劃計時器時,將傳遞一個boost::function,並在計時器到期時執行回調。時間將以高頻率(約1000次動作/秒)預定/取消。boost ::函數內存使用情況

但我擔心的是堆內存boost::function可能會使用的數量。

我知道例如boost::asio使用boost::function很多,而圖書館的性能要求可能非常高。

您認爲如何?

回答

3

在我看來,boost::function的開銷不太可能成爲計時器管理代碼中的門控因素。

獲得計時器隊列,鎖定和信號等待線程正確和高效是一個更好的使用你的大腦週期。相反,這是贊成boost::function或類似的另一個參數,以避免與'原始'回調頭痛。

2

boost :: function是一個相當小的對象。如果有的話,可能是普通函數指針大小的2-3倍。

+0

我不關心分配的數據的大小,而是關於新的/刪除它本身 – dimba 2010-11-29 19:39:30