On Thu, Dec 19, 2013 at 11:27:32AM +0800, Richard Hainsworth wrote:
> I've been running a perl6 program that runs through a loop, dumps
> intermediate results and starts again with new initialisation
> Looking at system resources, the program chews up memory resources
> a) Is this a known problem due to garbage collection problems?
If you're using Rakudo on Parrot, then the likely cause of what
you are seeing is due to the way Parrot manages memory. Parrot
tends to allocate memory pools up to a certain limit (based on
system resources) and never releases any of that allocated memory
back to the system until the process terminates.
So even though Rakudo is likely releasing the resources back
to Parrot, Parrot doesn't release them back to the system. Parrot
will start re-using the allocated memory for new objects, however,
once it's reached the resource limit mentioned above.