Haskell の処理系、GHC でのごみ集め Haskell処理系のひとつ、GHCの実行時オプションを勉強していたところ、 一つドキュメント化されていないオプションを発見しました。 以下のオプションです: -w Use mark-region for the oldest generation (experimental) 調べた結果、GCのアルゴリズムを変更するオプションと分かりました。 GHCのランタイムは、メモリ上のごみ集め (garbage collection, 以下GC)に、 世代別 GC を採用しています。世代別 GC とは、 「一時オブジェクトは、すぐに破棄されることが多く、 ある程度長く生存したオブジェクトは、以降も長く生存することが多い」 という経験則に基づいた GC 手法です。 新たに割り当てられたオブジェクトは、若い世代と見なし、頻繁に回収の対象とする。 若い世代