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