Stefan Parvu wrote:

What is the future of Parrot and GC systems ? Are we gonna have in near future similar GCs what the JVM has at this moment:

 - serial collector
 - parallel collector
 - concurrent collector ?

The design document for Parrot's GC system is scheduled to be completed Jan 15th. But, I can give you a preview, since that's more a matter of formalizing existing plans and implementation and cleaning up corner cases. Parrot will have pluggable a GC system (it already does). The GC scheme is chosen when configuring/compiling Parrot, and not swappable at runtime.

For the 1.0 release we'll only require that the basic GC schemes be complete and stable. There's plenty of room for other GC schemes to be developed before and after the 1.0 release. Whether they get included in the 1.0 release will depend on how stable they are when we ship.

That would be good since you can adjust your application for different loads. As well that would increase the time spent how to tune and do maintenance for your app so documentation would be valuable. Im curious, is Parrot a generational type of VM (objects are allocated in generations), similar as the popular JVM ?

The three schemes currently implemented are generational, stop-the-world mark-and-sweep, and incremental mark-and-sweep. The generational GC implementation is not complete yet. The default GC scheme at the moment is stop-the-world mark-and-sweep. For the 1.0 release the default will likely be either incremental or generational, depending on which proves to be the most stable and best performance on average across common use cases.

Allison

Reply via email to