私は、オブジェクトの「乱れ」が激しくヒープを圧迫していると思われる場所で、boost::pool を何度か試しました。通常、私はboost::object_pool
、またはをboost::pool_alloc
STL テンプレート パラメータとして使用しました。ただし、結果は常に、パフォーマンスが実質的に変わらないか、大幅に悪化します。
成功事例があればぜひ聞いてみたいです。
プロファイリング出力で、boost::pool が役立つ可能性があることを示すどのような点に注意すればよいでしょうか?
古き良き malloc を改良するのは実はかなり難しいのでしょうか?
ベストアンサー1
メモリ プールは、プールに割り当てて、トランザクションが完了したらそれを破棄するトランザクション スタイルの処理に最も効果的だと思います。実際の速度向上は、各割り当てが大幅に高速化されることではなく、非常に長時間実行されるアプリケーションでメモリの断片化がほぼゼロになることです。
結論から言うと、あなたのアプリケーションはメモリプールを使用する必要がないようです。