ガーベッジコレクションの実装の実体

ガベージコレクションの実装法と評価

データの入力パターンが任意(不特定)の場合の汎用的なガーベッジコレクションの実装はしない方がよい。
なぜなら、磨き抜かれたすでにあるライブラリのコレクションにかなう物を作るコスト+バグ取りのコストを考えると作るだけ無駄。
もしくは単純にAutoなポインタとかnew とdeleteを参照カウンタでOSに頼るとか低位な物で、newの実装のバッファに頼るとか
その辺で十分効果があることが多い。OSのメモリ割り当ての実装はかなり磨かれているからねぇ。

対して、データの入力パターンにアル程度規則性がある、実際のプロジェクト毎に即したガーベッジコレクタの場合
たとえば、入力の90%が160Byte以下だとあらかじめわかっているとか、
入力がかならずデーター1 データー2 データ3の順番だと決まっているとか

そういうスペシフィックな特徴に基づいたスペシフィックなガーベッジコレクタは
スペシフィックであるが故にジェネリックなライブラリのガーベッジコレクタよりも速かったり安定したりするので十分に作る価値がある。


見極め線はその辺。