Skip to content

リージョンベースのメモリ管理

リージョンベースのメモリ管理がGoに導入されようとしている。

リージョンベースの管理自体は言語に固有の話ではない。目的は複数のオブジェクトが利用しているメモリを一括して開放するための仕組みで、Cなどでも実現できる。これは例えばリンクリストのノードをまとめて free(3) する場合などが該当する。

Goにおいては、上記のプロポーザルによると、 sync.Pool などの内側で arena パッケージを使って実現することが考えられている。