boost::function
をタイマーマネージャの実装に使用することを検討しています。スケジュールタイマーではboost::function
が渡され、タイマー満了時にコールバックが実行されます。時間は、高い頻度で(〜1000回/秒)スケジュールされ/キャンセルされます。boost :: function memory usage
しかし、ヒープメモリの量に関しては、boost::function
が使用する可能性があります。
たとえば、boost::asio
はboost::function
を多く使用していますが、ライブラリのパフォーマンス要件はおそらく非常に高いです。
あなたはどう思いますか?
私は割り当てられたデータのサイズに心配していません。新しい/削除すること自体については、 – dimba
@dimba - あなたはファンクタのメモリを慎重にするならば、未処理のタイマーを追跡するために何か新しいものを持たなければなりませんそれに含めることはできないのですか? –
@スティーブ私はあなたが何を意味しているか分かりません。ユーザーはScheduleTimer(boost :: function <>、...)のようなAPIを持つので、boost :: function <>は既にユーザーによって割り当てられています。違うやり方はできますか? 私は、各アクティブ・タイマーのために*無効格納することができますタイマー経営管理論(ACE)のための第三PARYライブラリを使用していますので、私は後押しする店舗の店舗ポインタする必要があります::機能を<>。何らかのメモリ割り当てを防ぐために何とか使用できますか? – dimba