Philip M. Gollucci > B-Size > B::TerseSize

Download:
B-Size-0.09.tar.gz

Dependencies

Annotate this POD

Related Modules

Apache::Status
B::Size
Devel::Size
Apache::Registry
Apache::DProf
Exporter::Tidy
Tk::JPEG
Tk::MListbox
Tk::CursorControl
Devel::Symdump
more...
By perlmonks.org

CPAN RT

New  4
Open  1
View/Report Bugs
Module Version: 0.09   Source  

NAME ^

B::TerseSize - Printing info about ops and their (estimated) size

SYNOPSIS ^

        perl -MO=TerseSize[,OPTIONS] foo.pl

DESCRIPTION ^

The B::Size and B::TerseSize modules attempt to measure the size of Perl op codes. The output of B::TerseSize is similar to that of B::Terse, but includes the size of each OP in the tree and the PADLIST (subroutine lexical variables). The module can be run just as other compiler backends or used via Apache::Status (version 2.02 and higher).

If the Apache::Status StatusTerseSize option is enabled, there will be a main menu item added, "Memory Usage". Clicking on this link will cause B::TerseSize to produce a summary of package memory usage. This summary can take quite a while to produce, as each package subroutine syntax tree will be walked, adding up the information. This information will be cached, so running httpd in -X (non-forking mode) is a good choice.

When browsing the Apache::Status "Symbol Table Dump", a "Memory Usage" link will be at the bottom of each page. These summaries also include measurements of package global variables.

The Apache::Status symbol table browser will also provide an option to dump a subroutine tree along with the other subroutine options.

CAVEATS ^

The memory measurements are only an estimate. But, chances are, if a measurement is not accurate, it is smaller than the actual size.

The "execution order" option under Apache::Status can only be run once unless you are using Perl 5.6.0+ or apply the patches/b_clearsym_60.pat to older Perls.

SEE ALSO ^

B(3), B::Size(3), B::LexInfo(3), Apache::Status(3)

AUTHOR ^

Currently Maintained by Philip M. Gollucci Previously Developed by Doug MacEachern based in part on B::Terse by Malcolm Beattie

syntax highlighting: