Guile GC Heap-Sizing-Heuristiken: Eine Live-Lock-Geschichte

2025-05-26

Das Guile-Projekt integriert einen konservativen Garbage Collector auf Basis von Nofl. Derzeit wird eine wachsende Heap-Strategie verwendet, wobei die Heap-Größe mit einem Multiplikator angepasst wird, um Fragmentierung zu berücksichtigen. Starke Fragmentierung kann jedoch zu Allokationsfehlern und Deadlocks führen, selbst wenn der Heap doppelt so groß ist wie erwartet. Der Beitrag untersucht Lösungen: Erhöhung des Multiplikators, Änderung der Heap-Organisation und Reservierung leerer Blöcke für den Nofl-Collector. Ziel ist eine effiziente Behandlung der Fragmentierung und Vermeidung von Deadlocks.

Entwicklung