HackerNews

グリーンティーガーベジコレクター

The Green Tea Garbage Collector

https://go.dev/blog/greenteagc


グリーンティーガーベジコレクターは、Go言語の新しい実験的なガーベジコレクターであり、Go 1.25に導入されました。これにより、多くのワークロードで約10%の処理時間の短縮が見られ、一部のワークロードでは40%にまで達することがあります。この機能は生産環境でも使用されており、Googleでも実践されています。ガーベジコレクションの目的は、プログラムによってもはや使用されていないメモリーを自動的に再利用することです。Goのガーベジコレクターは、オブジェクトとポインタに基づいて動作し、マークスイープアルゴリズムを実装しています。このアルゴリズムは、オブジェクトのグラフをトレースし、プログラムがまだ使用しているオブジェクトを特定してマークし、訪問しなかったオブジェクトを「到達不能」としてメモリを解放します。ガーベジコレクションには複雑さもあるものの、基本的な仕組みはこのようになっています。