The dprofpp command interprets profile data produced by a profiler,
such as the Devel::DProf profiler.
Dprofpp will read the file tmon.out and display the 15 subroutines which are using the most time.
By default the times for each subroutine are given exclusive of the times of their child subroutines.

To profile a Perl script run the perl interpreter with the -d switch.
So to profile script test.pl with Devel::DProf use the following:

$ perl5 -d:DProf test.pl

Then run dprofpp to analyze the profile. The output of dprofpp depends on the flags to the program and the version of Perl you're using.

Count timing for autoloaded subroutine as timing for *::AUTOLOAD. Otherwise the time to autoload it is counted as time of the subroutine itself (there is no way to separate autoload time from run time).

This is going to be irrelevant with newer Perls. They will inform Devel::DProfwhen the AUTOLOAD switches to actual subroutine, so a separate statistics for AUTOLOAD will be collected no matter whether this option is set.

Force the generation of fake exit timestamps if dprofpp reports that the profile is garbled. This is only useful if dprofpp determines that the profile is garbled due to missing exit timestamps. You're on your own if you do this. Consult the BUGS section.

Display subroutine call tree to stdout. Subroutine statistics are not displayed. When a function is called multiple consecutive times at the same calling level then it is displayed once with a repeat count.

Display merged subroutine call tree to stdout. Statistics are displayed for each branch of the tree.

When a function is called multiple (not necessarily consecutive) times in the same branch then all these calls go into one branch of the next level. A repeat count is output together with combined inclusive, exclusive and kids time.