Robert Jacques, el 10 de febrero a las 01:03 me escribiste: > -Getting concurrent GC code correct is very hard. Boehm's algorithm, > for instance, looks extremely racy.
There is a very simple concurrent GC model using fork()[1]. This is Unix only though (and very dependent on how efficiently fork() is implemented in the OS). I'm working (very slowly :) on implementing a GC based on this algorithm. No races, almost no synchronization. If the OS uses COW when fork()ing (I guess every modern OS does that), the only drawback is the copying of changed pages. [1] Nonintrusive Cloning Garbage Collector with Stock Operating System Support. http://www.cs.purdue.edu/homes/grr/snapshot-gc.ps -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ----------------------------------------------------------------------