02 Dec 2006 12:57:35 UTC
- Distribution: B-Size
- Module version: 0.09
- Source (raw)
- Browse (raw)
- How to Contribute
- Issues (5)
- Testers (88 / 33 / 0)
- KwaliteeBus factor: 0
- % Coverage
- License: unknown
- Activity24 month
- Download (10.44KB)
- MetaCPAN Explorer
- Subscribe to distribution
- This version
- Latest version++ed by:1 non-PAUSE userPGOLLUCCI Philip M. Gollucci
B::TerseSize - Printing info about ops and their (estimated) size
perl -MO=TerseSize[,OPTIONS] foo.pl
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.
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.
B(3), B::Size(3), B::LexInfo(3), Apache::Status(3)
Currently Maintained by Philip M. Gollucci Previously Developed by Doug MacEachern based in part on B::Terse by Malcolm Beattie