並行サイクルコレクション:RustによるSchemeのガベージコレクションスマートポインタ

2024-12-13

この記事では、Schemeインタプリタ内のガベージコレクションスマートポインタ(Gc)のための、Rustでの並行サイクルコレクタの実装について詳しく説明します。GcはArc>と同様に機能し、内部的な可変性、クローン作成、スレッド間の送受信をサポートします。この記事では、セマフォと読み書きロックを使用してスレッドセーフな内部的可変性を実現するGcの実装、およびBaconとRajanのアルゴリズムに基づく並行サイクルコレクションの実装の詳細について徹底的に説明します。これには、Traceトレイト、サイクル検出、並行な変更を処理するためのメカニズムが含まれます。