マルチプロセッサ/マルチスレッド メモリアロケータ Hoard
Hoard というメモリアロケータを、弊社サーバエンジニアの方から教えてもらいました。
使い方は簡単で、
export LD_PRELOAD="/path/libhoard.so:/lib/libdl.so"
などとしておくと、アプリケーション実行時に Hoard のライブラリを読み込み、malloc/free を Hoard のものに置き換えます。これにより、マルチプロセッサ/マルチスレッド環境でパフォーマンスを発揮する Hoard のメモリアロケーションアルゴリズムが、アプリに一切手を加えることなく利用できる、というわけです。
もちろん仕組み上、FAQ にあるように、スタティックリンクされたアプリや、malloc/free を使わずに独自のメモリアロケータを使っているアプリでは利用することはできませんが、ほとんどのアプリには利用できるんじゃないでしょうか。
Trackbacks
Use the following link to trackback from your own site:
http://blog.mizzy.org/articles/trackback/374