The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
NAME
    B::Stats - print optree statistics

SYNOPSIS
      perl -MB::Stats myprog.pl # all
      perl -MO=Stats myprog.pl  # compile-time only
      perl -MB::Stats[,OPTIONS] myprog.pl

DESCRIPTION
    Print statistics for all generated ops.

    static analysis at compile-time, static analysis at end-time to include
    all runtime added modules, and dynamic analysis at run-time, as with a
    profiler.

    The purpose is to help you in your goal:

        no bloat;

OPTIONS
    -c *static*
        Do static analysis at compile-time. This does not include all
        run-time require packages. Invocation via -MO=Stats does this
        automatically.

    -e *end*
        Do static analysis at end-time. This is includes all run-time
        require packages. This calculates the heap space for the optree.

    -r *run*
        Do dynamic run-time analysis of all actually visited ops, similar to
        a profiler. Single ops can be called multiple times.

    -a *all (default)*
        Same as -c,-e,-r: static compile-time and end-time and dynamic
        run-time.

    -t *table*
        Tabular list of -c, -e and -r results.

    -u *summary*
        Short summary only, no op class. With -t only the final table(s).

    -F *Files*
        Prints included file names

    -x *fragmentation* NOT YET
        Calculates the optree *fragmentation*. 0.0 is perfect, 1.0 is very
        bad.

        A perfect optree has no null ops and every op->next is immediately
        next to the op.

    -f<op,...> *filter* NOT YET
        Filter for op names and classes. Only calculate the given ops, resp.
        op class.

          perl -MB::Stats,-fLOGOP,COP,concat myprog.pl

    -llogfile NOT YET
        Print output only to this file. Default: STDERR

METHODS
    compile
        Static -c check at CHECK time. Triggered by -MO=Stats,-OPTS

    rcount (opcode)
        Returns run-time count per op type.

    output ($count-hash, $ops, $name)
        General formatter

    output_runtime
        -r formatter.

        Prepares count hash from @runtime array generated in XS and calls
        output

    output_table
        -t formatter