X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=README;h=847f09bde4d1795048b601805099c49310c34b4f;hb=3d2b08ed7d599a7333f1dffe21e7b9ab1c0ca575;hp=e6963c579fb1341dd3d748a4289056632d312478;hpb=1a36ac09c25a034362359c60d9f6599073d3108f;p=p5sagit%2FDevel-Size.git diff --git a/README b/README index e6963c5..847f09b 100644 --- a/README +++ b/README @@ -1,61 +1,36 @@ -=pod -Devel::Size - Perl extension for finding the memory usage of Perl variables +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. -=head1 SYNOPSIS +It can do this the entire perl interpreter as well as specific data structures. - use Devel::Size qw(size total_size); +It comes with scripts for storing this data in a database and visualizing it in +various forms, including graphs and an interactive treemap. - my $size = size("A string"); +Current implementation is all very alpha and rather hackish. - my @foo = (1, 2, 3, 4, 5); - my $other_size = size(\@foo); - my $foo = {a => [1, 2, 3], - b => {a => [1, 3, 4]} - }; - my $total_size = total_size($foo); +TODO: -=head1 DESCRIPTION + 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 -This module figures out the real size of Perl variables in bytes, as -accurately as possible. + two cases where PERL_SUBVERSION is checked with a plain || (marked XXX) -=head1 Build and Install + Add addr to leaf to enable visualization of memory layout -To build and install this module, you need: - - Perl - a working C or C++ compiler - a make (or namke on Windows) utility - -Follow these steps: - -On Linux, Cygwin, or Unix: - - perl Makefile.PL - make - make test - sudo make install - -On Windows: - - perl Makefile.PL - nmake - nmake test - nmake install - -=head1 BUGREPORTS - -Please report bugs to: - - http://rt.cpan.org/NoAuth/Bugs.html?Dist=Devel-Size - -=head1 COPYRIGHT - -Copyright (C) 2005 Dan Sugalski, Copyright (C) 2007-2008 Tels - -This module is free software; you can redistribute it and/or modify it -under the same terms as Perl v5.8.8. - -=cut + 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