From: Charles Oliver Nutter Date: 2007-11-12T05:15:10+09:00 Subject: Re: enterprise ruby Luis Lavena wrote: > Maybe this was discussed before, but noone mention it. > > I think Rubinius team took the idea of doing some "agnostic" GC that > they could switch backends when needed, without changing the API. > > Maybe something similar could be done for MRI? Also, thinking on Boehm > Garbage Collector [1] that wasn't mention any place here, and could > reduce the "time to market" of something. The ability to replace the Ruby GC with something a bit more advanced is severely hindered by--you guessed it--C extensions. Ruby's extension API allows access to the objects directly, so extensions can access the data in-memory. This is anathema to any GC that wants to move objects around, and of course it's absolutely impossible to do any GC operations in parallel if extensions might be holding direct references to memory. So in the area of GC, at least, Ruby is being hindered by its extension API rather than helped. - Charlie