So I made the perhaps unwise move of twitter-kvetching about NYTProf
and memory profiling [0] in which I said: "Perl needs better memory-
use profiling. NYTProf is *amazing* but only addresses CPU usage."

Tim Bunce popped up (hurrah for twitter search functions) and in the
best, most politest, most open-source sort of way, invited me to put
up or shut up [1]: "@trochee Memory profiling of some kind is on the
roadmap for NYTProf, but won't happen soon without help. Want to
contribute?"

and yes, I would like to contribute. I do love Devel::NYTProf, but
AFAICT, there is no memory-use profiling.  Followup conversations
(also twittered!) suggested that I should post here to raise the
question and spur Tim into laying out his plans for Devel::NYTProf
memory-profiling support.

WHAT:
What I'd really like from a good memory profiler, is a *non-invasive*
way of finding out the size (perhaps only the maximum size?) and
duration (or at least if it was garbage-collected before termination)
of any variable, whether lexically- or package-scoped.  Ideally,
objects could also report their entire size, but that might get
complicated with things like singletons and inside-out objects.

When I say non-invasive, I really mean "in the current spirit of
Devel::NYTProf", in that NYTProf does non-invasive CPU/time profiling
(can you imagine how much you'd have to litter your code with
Benchmark calls to get the same kind of information?).  In this
respect, Devel::Size and Devel::Cycle are "invasive", because they
require explicit markup of code one might be interested in.

There are some good resources in packages like Devel::Size and
Devel::Cycle that might be folded into such a project.  Also, I found
some preliminary work from Jonathan T. Rockaway [2] that looks like it
might be worth giving a poke at.

HOW MUCH:
I'd like to help, with the caveat that I know very little about
perlguts, but I'm a generally savvy programmer and problem-solver.
But I do like tools, and NYTProf is one of my favorites!

--Jeremy

[0] http://twitter.com/trochee/status/3874077719
[1] http://twitter.com/timbunce/status/3884518663
[2] http://blog.jrock.us/articles/Memory%20Profiling%20part%201.pod

--~--~---------~--~----~------------~-------~--~----~
You've received this message because you are subscribed to
the Devel::NYTProf Development User group.

Group hosted at:  http://groups.google.com/group/develnytprof-dev
Project hosted at:  http://perl-devel-nytprof.googlecode.com
CPAN distribution:  http://search.cpan.org/dist/Devel-NYTProf

To post, email:  [email protected]
To unsubscribe, email:  [email protected]
-~----------~----~----~----~------~----~------~--~---

Reply via email to