Tim Bunce [Tue, 2 Oct 2012 16:27:42 +0000]
renaming for static/sizeme_graph.pl
Tim Bunce [Tue, 2 Oct 2012 15:32:54 +0000]
Merge remote-tracking branch 'origin/rafl' into tim-
20120930-sizeme
Conflicts:
.gitignore
Makefile.PL
SizeMe.xs
Also added #ifdef PERL_IMPLICIT_CONTEXT around PL_my_cxt_size.
Tim Bunce [Tue, 2 Oct 2012 14:54:31 +0000]
Rename to Devel::SizeMe
Tim Bunce [Tue, 2 Oct 2012 14:11:49 +0000]
Assorted minor changes.
Florian Ragwitz [Mon, 1 Oct 2012 09:22:13 +0000]
Count all stack frames, not just the used ones
Florian Ragwitz [Mon, 1 Oct 2012 09:21:01 +0000]
Fix a bunch of warnings
Florian Ragwitz [Mon, 1 Oct 2012 06:13:12 +0000]
Add a few more global pointers
Florian Ragwitz [Mon, 1 Oct 2012 02:51:12 +0000]
Add more interpreter globals
Florian Ragwitz [Mon, 1 Oct 2012 02:19:13 +0000]
Count PerlInterpreter when applicable
Florian Ragwitz [Mon, 1 Oct 2012 02:04:16 +0000]
For PL_compiling, don't count the actual OP
It's either stored in the data section or in the PerlInterpreter struct, so it
should not be counted or counted as part of struct PerlInterpreter. However, we
do wanna count things referenced from PL_compiling, such as cop_file and the
hints hash, if present.
Florian Ragwitz [Mon, 1 Oct 2012 02:03:22 +0000]
Allow the op structure to not be counted
Depending on how the OP is allocated, you may or may not want to count the size
of the actual OP. However, you'll want to count other data referenced from the
OP.
Florian Ragwitz [Mon, 1 Oct 2012 01:49:45 +0000]
Add a few more globals
Some of them were already reached on other paths, others weren't.
Florian Ragwitz [Mon, 1 Oct 2012 01:31:38 +0000]
Always count PL_compiling as a COP
It's always allocated as a full COP, never as anything else that could possibly
be smaller. Pass that information along.
Florian Ragwitz [Mon, 1 Oct 2012 01:29:16 +0000]
Factor out op class guessing
Sometimes callers already know what kind of class the op they're dealing with
belongs to. If they do, they can now just pass down that information into
op_size_class, avoiding possibly wrong guesses from cc_opclass based on op_type.
Florian Ragwitz [Mon, 1 Oct 2012 01:27:16 +0000]
Attempt to count PL_compiling
Often, PL_compiling will have an op_type of OP_NULL, making it being counted as
a regular base op. However, it's memory is being allocated within the
PerlInterpreter structure or in a proper global as a full COP, not just a
BASEOP. Therefore it's possible for it to be counted wrong right now.
Florian Ragwitz [Mon, 1 Oct 2012 01:09:20 +0000]
Count lexical hint hashes in COPs
Florian Ragwitz [Mon, 1 Oct 2012 01:07:29 +0000]
Add refcounted_he structs counting
Florian Ragwitz [Mon, 1 Oct 2012 01:05:32 +0000]
Attempt to extract the refcounted_he definition
Not all perls have this structure, so some compatibility checks will have to be
added later.
We can't easily reuse the definition from hv.h unless we define PERL_CORE, which
will break loads of other code we currently have.
Tim Bunce [Sun, 30 Sep 2012 09:49:27 +0000]
make hash keys be a he+hek node that has the value as a child
Tim Bunce [Sun, 30 Sep 2012 09:48:07 +0000]
Mark suspect PERL_SUBVERSION macros
Tim Bunce [Sun, 30 Sep 2012 09:16:58 +0000]
tweak --showid output
Tim Bunce [Sun, 30 Sep 2012 09:09:10 +0000]
Rework AV index labels to avoid using NPattr_PRE_ATTR
Tim Bunce [Sun, 30 Sep 2012 08:18:34 +0000]
add external gz mechanism as experiment (~3 pct)
Tim Bunce [Sun, 30 Sep 2012 08:16:48 +0000]
Show duration of SizeMe streaming
Tim Bunce [Sun, 30 Sep 2012 08:16:37 +0000]
cope with array index name attr being undef
Tim Bunce [Sun, 30 Sep 2012 08:14:41 +0000]
Make sv_size return true if sv not seen before.
Florian Ragwitz [Sun, 30 Sep 2012 08:03:12 +0000]
Add a missing dependency
Tim Bunce [Sun, 30 Sep 2012 07:55:37 +0000]
Add S & E tokens, plus timing.
Florian Ragwitz [Sun, 30 Sep 2012 07:50:52 +0000]
Move SvSTASH counting from SVt_PVCV to >= SVt_PVMG
I assume that certain stashes might not be reached using the previous
behaviour. Both objects and CVs (and possibly even others) can have a stash.
For anonymous stashes without CVs in them, I believe SvSTASH would not be
counted if an object blessed in said anonymous stash would be processed.
Florian Ragwitz [Sun, 30 Sep 2012 07:50:12 +0000]
For non-magical XPVMGs, count OURSTASH for if present
Florian Ragwitz [Sun, 30 Sep 2012 07:48:30 +0000]
Only attempt to count magic on magical SVs
XPVMGs might not have a MAGIC* chain attached. SvMAGICAL is the predicate for
that.
Florian Ragwitz [Sun, 30 Sep 2012 07:31:33 +0000]
Fix compilation on perls with IMPLICIT_CONTEXT
Tim Bunce [Sun, 30 Sep 2012 06:56:27 +0000]
First steps migrating to SizeMe
Tim Bunce [Fri, 28 Sep 2012 19:19:03 +0000]
More prereqs
Tim Bunce [Fri, 28 Sep 2012 19:18:06 +0000]
Merge branch 'tim-
20120929-d-m' of git.shadowcat.co.uk:Devel-Size into tim-20120929-d-m
Tim Bunce [Fri, 28 Sep 2012 19:16:53 +0000]
Don't "open -a Graphviz $opt_dot" unless on OSX
Tim Bunce [Fri, 28 Sep 2012 19:16:22 +0000]
tweak .gitignore
Tim Bunce [Fri, 28 Sep 2012 19:14:56 +0000]
add some PREREQ_PM
timbo [Fri, 28 Sep 2012 18:57:04 +0000]
Fix mstats scope
Tim Bunce [Fri, 28 Sep 2012 18:54:39 +0000]
mstats() isn't very portable
Tim Bunce [Fri, 28 Sep 2012 18:31:11 +0000]
Mega rename to Devel::Memory commit
Tim Bunce [Fri, 28 Sep 2012 16:09:57 +0000]
add TODO
Tim Bunce [Fri, 28 Sep 2012 16:08:08 +0000]
Split out a new heap_size() function. Add TODO. Special case PL_strtab HeVAL's.
Tim Bunce [Fri, 28 Sep 2012 07:35:26 +0000]
tweak Children tooltip
Tim Bunce [Fri, 28 Sep 2012 07:30:53 +0000]
Add "->" to link names for --text.
Tim Bunce [Fri, 28 Sep 2012 01:51:20 +0000]
Add logarea param via referer. add bytesToSize. Polish formatting of tooltip
Tim Bunce [Thu, 27 Sep 2012 16:09:47 +0000]
update notes.txt
Tim Bunce [Thu, 27 Sep 2012 15:27:24 +0000]
Hack to enable log scale for treemap nodes (disabled)
Tim Bunce [Thu, 27 Sep 2012 15:24:21 +0000]
Fix for scalar attr and assorted clenups
Tim Bunce [Thu, 27 Sep 2012 15:13:11 +0000]
check for AVelem, remove Dwarn
Tim Bunce [Thu, 27 Sep 2012 15:12:43 +0000]
tweaks
Tim Bunce [Wed, 26 Sep 2012 17:14:32 +0000]
Add PRE_ATTR and use it for array indices.
Tim Bunce [Wed, 26 Sep 2012 17:09:07 +0000]
Apply SOME_RECURSION to CvOUTSIDE for now
Tim Bunce [Wed, 26 Sep 2012 17:08:58 +0000]
Add 'ADD_PRE_ATTR' mechanism so we can output attrs for the next node.
Tim Bunce [Wed, 26 Sep 2012 16:06:06 +0000]
Using check_new doesn't work for padlist_size. Mark weakrefs in link name.
Tim Bunce [Wed, 26 Sep 2012 15:09:52 +0000]
Use check_new in padlist_size.
Tim Bunce [Wed, 26 Sep 2012 15:09:12 +0000]
Pad names almost working. Some asorted code cleanup.
Tim Bunce [Wed, 26 Sep 2012 13:35:37 +0000]
Change env var name
Tim Bunce [Wed, 26 Sep 2012 13:35:24 +0000]
Recurse into CvPADLISTs
Tim Bunce [Wed, 26 Sep 2012 13:34:42 +0000]
Note need to treat HEs as nodes. Warn on suspect HeVAL
Tim Bunce [Tue, 25 Sep 2012 16:11:25 +0000]
Don't chase magic unless SvMAGICAL
Tim Bunce [Tue, 25 Sep 2012 14:39:36 +0000]
Tweak node naming (remove + )
Tim Bunce [Tue, 25 Sep 2012 14:39:15 +0000]
Faster transitions
Tim Bunce [Tue, 25 Sep 2012 13:14:27 +0000]
Fix for single node.
Tim Bunce [Tue, 25 Sep 2012 13:12:34 +0000]
Chase cop_stash only if refcnt==1. Move MG to end of sv_size().
Tim Bunce [Tue, 25 Sep 2012 12:53:23 +0000]
Larger label font. workaround jit bug where old tooltip is still shown
Tim Bunce [Tue, 25 Sep 2012 10:02:43 +0000]
no longer size CvSTASH perl RT79366
Tim Bunce [Tue, 25 Sep 2012 09:53:43 +0000]
Drop json out. Write dot to file. Add 'text' tree mode.
Tim Bunce [Tue, 25 Sep 2012 09:51:59 +0000]
Unused svhead arena space. Scan arenas for unseen SVs. malloc info. Write to pipe.
Tim Bunce [Tue, 25 Sep 2012 02:56:38 +0000]
Note that the mouse-over doesn't work with Label:{}. Need to find out why.
Tim Bunce [Sun, 23 Sep 2012 13:22:50 +0000]
Added local jquery-1.8.1-min.js so internet isn't needed
Tim Bunce [Sun, 23 Sep 2012 13:20:32 +0000]
Fixed stringification ot root node. Fix handling of link nodes.
Tim Bunce [Sun, 23 Sep 2012 13:19:42 +0000]
Added node type to db. Added showid option.
Tim Bunce [Sun, 23 Sep 2012 12:57:13 +0000]
Make levelsToShow more variable
Tim Bunce [Sun, 23 Sep 2012 12:45:25 +0000]
Fix NPathPushNode not (re)setting seqn, not perl_size "others" works.
Tim Bunce [Sun, 23 Sep 2012 11:54:41 +0000]
Add more items to perl_size()
Tim Bunce [Sat, 22 Sep 2012 17:35:59 +0000]
Polish up dot output, incl adding sizes
Tim Bunce [Sat, 22 Sep 2012 15:02:20 +0000]
fix name escaping
Tim Bunce [Sat, 22 Sep 2012 14:41:56 +0000]
Use link nodes to label links.
Tim Bunce [Sat, 22 Sep 2012 14:41:10 +0000]
Fix link-to-link for op_size.
Tim Bunce [Sat, 22 Sep 2012 10:44:36 +0000]
add basic dot format output
Tim Bunce [Sat, 22 Sep 2012 10:15:17 +0000]
Control recursion threshold to enable more accurate perl_size.
Tim Bunce [Thu, 20 Sep 2012 21:02:18 +0000]
rm some old files
Tim Bunce [Thu, 20 Sep 2012 17:09:58 +0000]
Lots of progress.
Reworked attribute pipeline.
Added title concept.
Added logarea (incomplete)
Tim Bunce [Thu, 20 Sep 2012 09:32:53 +0000]
smarten up the tooltip
Tim Bunce [Wed, 19 Sep 2012 16:36:01 +0000]
basic leaves pass-thru
Tim Bunce [Wed, 19 Sep 2012 14:24:26 +0000]
basic attribute pass-thru
Tim Bunce [Wed, 19 Sep 2012 10:30:57 +0000]
A little polish
Tim Bunce [Wed, 19 Sep 2012 09:44:28 +0000]
single-child node merging working
Tim Bunce [Wed, 19 Sep 2012 08:55:47 +0000]
split transform nodes away from fetch
Tim Bunce [Tue, 18 Sep 2012 21:29:20 +0000]
drill down with basic tooltip
Tim Bunce [Mon, 17 Sep 2012 09:38:38 +0000]
on-demand treemap working, though rough
Tim Bunce [Sun, 16 Sep 2012 15:46:17 +0000]
Working(ish) on demand demo using statis data
Tim Bunce [Wed, 12 Sep 2012 20:48:16 +0000]
Working on removing links from the output path
Tim Bunce [Tue, 11 Sep 2012 22:45:05 +0000]
Rename dNPathSetNode->NPathPushNode and rework magic_size nodes.
Tim Bunce [Tue, 11 Sep 2012 22:25:59 +0000]
Generate json and initial experiments with a treemap.
Tim Bunce [Tue, 11 Sep 2012 20:42:47 +0000]
Add memnodes.pl script to process output stream.
Tim Bunce [Mon, 10 Sep 2012 21:05:51 +0000]
Add node stream file format (plain text for now)
Add workaround for a PL_strtab HeVAL == 0xC.
Tim Bunce [Mon, 10 Sep 2012 19:00:49 +0000]
Added perl_size()
Tim Bunce [Mon, 10 Sep 2012 18:59:39 +0000]
Squashed commit of all initial work on the 'name path' mechanism.