IT用語集 › プログラミング › アリーナアロケータ

アリーナアロケータ

プログラミング Svenska → 更新: 2026-10-20

大きなメモリブロックを1つ確保し、ポインタを前に進めて切り出していき、最後にまとめて一気に解放する割り当て方式。個別のfreeは存在しない。

割り当ては3命令ほどで済む。空きリストやロックを抱えた汎用のメモリマネージャーを呼ぶ必要がなく、連続して作ったオブジェクトが物理的にも連続して並ぶので、キャッシュにも優しい。寿命がはっきりした処理に向く。コンパイラは構文木全体を1つのアリーナに置き、フェーズが終われば捨てられる。Webサーバーなら、リクエストごとにアリーナを持たせ、応答時にリセットできる。

向かないのは寿命が異なるオブジェクトだ。アリーナ全体を解放するまでメモリは再利用されないため、長生きするオブジェクトが1つあるだけで、ほかのすべてが生き残ってしまう。デストラクタは別途扱う必要があり、型付き言語ではアリーナ内のすべてのオブジェクトが同じ寿命に結びつくので、それが関数のシグネチャにも現れる。

← 用語集に戻る