KLIC [1] は可搬性と効率性の両立を目標に構築さ れた,並列論理型言語 KL1 の並列処理系である. KLIC では,自動メモリ管理を行っておりガーベジコレ クション(GC)の処理時間は,通常,プログラム実行時 間全体のうち無視出来ない時間を占める.従って,GC の性能は処理系の性能を左右する大きな要因の一つ である.
現在のKLIC処理系は,比較的短期間だけ必要とする
ような様々な制御用のデータ構造なども,プログラム中
から明示的に利用する通常のデータと同じヒープ領域
に割り付ける設計となっている.これは処理系の構造を
単純にする効果を上げている反面,短寿命のデータが
非常に多くなり,GC機構に大きな負担となっている.
そこで,本研究では,様々なデータ構造を割り付ける ヒープ領域を,比較的長時間保持されているデータを 格納する領域(旧世代領域)と,最近割り付けたデータ を格納する領域(新世代領域)とに分割する世代GC方 式を KLIC に導入し,その結果,オリジナルの KLIC と比べプログラムの実行時間が数%〜20%程度短縮 したことを示した.