1

Poly/ML でのヒープのサイズ変更に関する論文で、次の言葉について読みました。しかし、ヒープのサイズがどのように正確に変更されるのかわかりませんでしたか? 誰かがそれをより詳細に説明できますか?

すべての主要な GC (ガベージ コレクション) の最後に、adjustHeapSize() メソッドが呼び出されます。この方法では、ヒープ サイズが動的に変化するため、特定の量の空き領域が利用可能になります。つまり、成熟したスペースに GC の直後に 1 MB のライブ データが含まれていると仮定すると、adjustHeapSize() は成熟したスペースのサイズを K +1 MB に変更します。ここで、K は事前に計算された定数です。K は、gc.cpp の majorGCFree 静的変数の値であり、Poly/ML ランタイムが実行を開始するときに、成熟したスペースのサイズに設定されます。

各 GC 後に一定量の空き容量があることを理解しています。しかし、ヒープ サイズの次の計算値を取得するにはどうすればよいでしょうか。K とは何ですか? K はどのように計算されますか? なぜK + lに設定するのですか?

4

1 に答える 1