On 01/02/2011 17:12, Patrick R. Michaud wrote:
Okay.  In this case, part of my message is "Here's a (very) small
program that shows the large delays."

It's entirely possible that this example is small in source but
has a large memory footprint... but I don't think this should
be the case.  However, your earlier message seems to indicate that
it was in fact quite big -- 3MB for the first iteration.

Your example does allocate a lot of memory, but it's used only temporarily, so it shouldn't cause long delays with a dynamic GC threshold. I'll give it try with the dynamic threshold branch later and report back.

 Is there
a good mechanism in Parrot to reliably measure the memory consuption
of various parts of a program?  Ideally I'd like to have some way
to know how much memory is being used at any point in a program,

You can get that number with

interpinfo .INTERPINFO_TOTAL_MEM_ALLOC

It's not really accurate in master, but I plan to add better statistics.

and which which subroutines have been responsible for allocating it.

That's a lot harder.

(Could the profiling runcore or something like it provide this
sort of information?)  I think this just brings us back to the
#2 need I listed -- better profiling and performance analysis of
Parrot programs.

Yes, this should probably be part of the profiling runcore. I couldn't find a profiling task list on the Parrot Wiki. We should create one.

I also found this Wiki page (created 15 months ago):

http://trac.parrot.org/parrot/wiki/RakudoTasklist

We should update this page and link to it from the Wiki front page.

Nick
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev

Reply via email to