fprofpp - Man Page

Devel::FastProf post processor

Synopsis

  $ fprofpp [-f filename] [-r] [-e] [-g] [-p] [-t num]

Description

fprofpp reads the profile information generated when using Devel::FastProf (usually saved on a file named fastprof.out) and prints a "human friendly" report.

Options

Those are the flags that can be used with fprofpp:

-f filename

instead of the default fastprof.out reads the file given as an argument.

-r

sorts the lines on the output by the number of times they have been called instead of by the time spent on them (that is the default).

-t num

only outputs the first num lines

-e

account the time spent on code inside eval "..." constructions on the line where the eval starts.

Time spent on subroutines defined inside an eval will also be accounted on that line even when the subs are latter called outside the eval.

By default, every time an eval is executed its code is considered to be a different source file and accounted independently of the rest of the calls to the same eval.

On the report, it points to the place (file and line) where the eval sits, but the line source is the code actually executed.

-g

by default, on forking code, the time spent on every line by every process is accounted separately.

when this option is set, instead, the time reported is the sum of the time spent by all the processes on every line.

-p

include process information on the report.

-H

Do not print the report header.

The Emacs/Xemacs Hack

The format of the report generated by Devel::SmallProf is similar to that generated by gcc or grep -n and so, easily parseable by Emacs (and I suppose it shouldn't be too difficult to do the same from vi and other editors).

For instance, one way to do it from XEmacs is, starting from a buffer on the same directory where fastprof.out sits:

  M-! fprofpp -t 30
  M-x compilation-mode

then, going to the hot spots of the profiled program would be as easy as clicking the mouse over the lines on the fprofpp output buffer.

See Also

Devel::FastProf, perlrun.

Info

2024-07-18 perl v5.40.0 User Contributed Perl Documentation