2

boost::functionタイマーマネージャーの実装で使用することを検討しています。スケジュール タイマーで aboost::functionが渡され、タイマーの期限切れでコールバックが実行されます。時間は非常に高い頻度でスケジュール/キャンセルされます (~1000 アクション/秒)。

しかし、ヒープメモリの使用量が心配ですboost::function

たとえば、ライブラリのパフォーマンス要件はおそらく非常に高いですが、多くをboost::asio使用していることを私は知っています。boost::function

どう思いますか?

4

2 に答える 2

3

私の意見では、のオーバーヘッドがboost::functionタイマー管理コードのゲーティング要因になるとは考えられません。

タイマーキューを取得し、待機中のスレッドを正しく効率的にロックおよびシグナリングすることは、脳のサイクルをはるかに有効に活用できます。逆に言えば、これは「生の」コールバックでの頭痛を避けるための賛成または類似の別の議論です。boost::function

于 2010-11-29T19:20:51.357 に答える
2

boost::functionはかなり小さなオブジェクトです。もしあれば、通常の関数ポインタの2〜3倍のサイズである可能性があります。

于 2010-11-29T19:21:28.360 に答える