<P>(with high value of $ENV{PERL_DPROF_TICKS}).</P>
<P>New <CODE>$over_*</CODE> values show the measured overhead of making $over_tests
calls to the profiler These values are used by the profiler to
subtract the overhead from the runtimes.</P>
<P>The lines starting with <CODE>@</CODE> mark time passed from the previous <CODE>@</CODE>
line. The lines starting with <CODE>&</CODE> introduce new subroutine <EM>id</EM> and
show the package and the subroutine name of this id. Lines starting
with <CODE>+</CODE>, <CODE>-</CODE> and <CODE>*</CODE> mark entering and exit of subroutines by
<EM>id</EM>s, and <CODE>goto &subr</CODE>.</P>
<P>The <EM>old-style</EM> <CODE>+</CODE>- and <CODE>-</CODE>-lines are used to mark the overhead
related to writing to profiler-output file.</P>
<P>
<HR>
<H1><A NAME="autoload">AUTOLOAD</A></H1>
<P>When Devel::DProf finds a call to an <CODE>&AUTOLOAD</CODE> subroutine it looks at the
<CODE>$AUTOLOAD</CODE> variable to find the real name of the sub being called. See
<A HREF="../../lib/Pod/perlsub.html#autoloading">Autoloading in the perlsub manpage</A>.</P>
<P>
<HR>
<H1><A NAME="environment">ENVIRONMENT</A></H1>
<P><CODE>PERL_DPROF_BUFFER</CODE> sets size of output buffer in words. Defaults to 2**14.</P>
<P><CODE>PERL_DPROF_TICKS</CODE> sets number of ticks per second on some systems where
a replacement for <A HREF="../../lib/Pod/perlfunc.html#item_times"><CODE>times()</CODE></A> is used. Defaults to the value of <CODE>HZ</CODE> macro.</P>
<P><CODE>PERL_DPROF_OUT_FILE_NAME</CODE> sets the name of the output file. If not set,
defaults to tmon.out.</P>
<P>
<HR>
<H1><A NAME="bugs">BUGS</A></H1>
<P>Builtin functions cannot be measured by Devel::DProf.</P>
<P>With a newer Perl DProf relies on the fact that the numeric slot of
$DB::sub contains an address of a subroutine. Excessive manipulation
of this variable may overwrite this slot, as in</P>
<PRE>
$DB::sub = 'current_sub';
...
$addr = $DB::sub + 0;</PRE>
<P>will set this numeric slot to numeric value of the string
<CODE>current_sub</CODE>, i.e., to <CODE>0</CODE>. This will cause a segfault on the exit
from this subroutine. Note that the first assignment above does not
change the numeric slot (it will <EM>mark</EM> it as invalid, but will not
write over it).</P>
<P>Mail bug reports and feature requests to the perl5-porters mailing list at