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

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

AUTHOR

Doug MacEachern based in part on B::Terse by Malcolm Beattie