Update README tim-20120930-sizeme
Tim Bunce [Fri, 26 Oct 2012 09:15:31 +0000 (10:15 +0100)]
README

diff --git a/README b/README
index 847f09b..d15b99c 100644 (file)
--- a/README
+++ b/README
@@ -3,34 +3,42 @@ Devel::SizeMe is a variant of Devel::Size that can stream out detailed
 information about the size of individual data-structures and the links
 between them.
 
-It can do this the entire perl interpreter as well as specific data structures.
+It can do this for the entire perl interpreter internals as well as your own
+perl data structures.
 
 It comes with scripts for storing this data in a database and visualizing it in
 various forms, including graphs and an interactive treemap.
 
-Current implementation is all very alpha and rather hackish.
+Current implementation is alpha and rather hackish.
 
+For more info see http://blog.timbunce.org/2012/10/05/introducing-develsizeme-visualizing-perl-memory-use/
+and http://blog.timbunce.org/tag/sizeme/
 
-TODO:
+Random TODOs:
 
-    Remove log scale checkboc from the treemp as it doesn't work yet
-    Devel::SizeMe::Core - loads XS and sets options
-    Devel::SizeMe - loads Devel::SizeMe::Core
-        -d:SizeMe=opts?
-    Devel::SizeMe::Stream - parse raw stream
-    Devel::SizeMe::Store - db write
-    Devel::SizeMe::Data - db read / orlite?
-    Devel::SizeMe::Graph - data reading/processing for sizeme_graph
-    sizeme_store - script wrapper for Devel::SizeMe::Store
-    sizeme_graph - Mojolicious app wrapper using Devel::SizeMe::Graph
-    tests!
-    Support multiple runs to same sizeme_store process, generating separate files
-    Name runs to allow total_size (for example) of multiple data structures
+    Integrate changes back into Devel::Size so we can share a common core.
+
+    Add ref count handling, per https://rt.cpan.org/Ticket/Display.html?id=79789
+    Output addr as a leaf of a link node for items not scanned due to ref cnt
+        render those as dotted lines on the graph visualization
+        (and thus change from a tree to a DAG) so we can see alternate paths.
+    Optionally add addr to all nodes to enable visualization of memory layout
+    Two cases where PERL_SUBVERSION is checked with a plain || (marked XXX)
 
-    two cases where PERL_SUBVERSION is checked with a plain || (marked XXX)
+    Restructure:
+        Devel::SizeMe::Core - loads XS and sets options
+        Devel::SizeMe - loads Devel::SizeMe::Core
+            -d:SizeMe=opts?
+        Devel::SizeMe::Stream - parse raw stream
+        Devel::SizeMe::Store - db write
+        Devel::SizeMe::Data - db read / orlite?
+        Devel::SizeMe::Graph - data reading/processing for sizeme_graph
+        sizeme_store - script wrapper for Devel::SizeMe::Store
+        sizeme_graph - Mojolicious app wrapper using Devel::SizeMe::Graph
+    Move Devel::SizeMe::Graph and co out to separate distro.
 
-    Add addr to leaf to enable visualization of memory layout
+    Tests!
+    Remove log scale checkbox from the treemp as it doesn't work yet
+    Support multiple runs to same sizeme_store process, generating separate files
+    Name runs to allow total_size (for example) of multiple data structures
 
-    Add token for ptr to node already seen (identified by addr I presume)
-        so we can move from a Tree to a DAG and see alternative name paths
-        and reference loops