http://code.google.com/p/perl-devel-nytprof/source/detail?r=891
Modified:
/trunk/Changes
/trunk/lib/Devel/NYTProf.pm
=======================================
--- /trunk/Changes Wed Oct 28 08:43:54 2009
+++ /trunk/Changes Wed Oct 28 09:11:41 2009
@@ -7,7 +7,6 @@
=head2 Changes in Devel::NYTProf 2.11
XXX subroutine profiler docs need update
-XXX note here and doc goto behaviour
XXX OP_SUBSTCONT
XXX should add test for embedded src code, incl string eval
=======================================
--- /trunk/lib/Devel/NYTProf.pm Wed Oct 28 08:43:54 2009
+++ /trunk/lib/Devel/NYTProf.pm Wed Oct 28 09:11:41 2009
@@ -71,6 +71,10 @@
Performs per-subroutine statement profiling for overview
+=item *
+
+Performs per-opcode profiling for slow perl builtins
+
=item *
Performs per-block statement profiling (the first profiler to do so)
@@ -184,7 +188,7 @@
For each subroutine called, separate counts and durations are stored I<for
each
location that called the subroutine>.
-Subroutine entry is detected by intercepting the entersub opcode.
Subroutine
+Subroutine entry is detected by intercepting the C<entersub> opcode.
Subroutine
exit is detected via perl's internal save stack. The result is both
extremely
fast and very robust.
@@ -404,15 +408,12 @@
package. So times for C<print> calls from anywhere in your code are merged
and
accounted for as calls to an xsub called C<CORE::print>.
-If C<N> is 2 then builtins are treated as being defined in the package that
-calls them. So calls to C<print> from package C<Foo> are treated as calls
to an
-xsub called C<Foo::CORE:print>. Note the single colon after CORE.
-
-Default is 0 as this is a new feature and still somewhat experimental.
-The default may change to 2 in a future release.
+If C<N> is 2 (the default) then builtins are treated as being defined in
the
+package that calls them. So calls to C<print> from package C<Foo> are
treated
+as calls to an xsub called C<Foo::CORE:print>. Note the single colon after
CORE.
The opcodes are currently profiled using their internal names, so
C<printf> is C<prtf>
-and the C<-x> file test is C<fteexec>. This is likely to change in future.
+and the C<-x> file test is C<fteexec>. This may change in future.
=head2 usecputime=1
@@ -591,6 +592,12 @@
C<subs=0:leave=0> options, but you won't get any subroutine timings.
See L<http://rt.cpan.org/Public/Bug/Display.html?id=50634>
+=head2 Slowops doesn't include all kinds of s/// substitutions
+
+Currently the C<substcont> opcode isn't profiled. This means that
substitutions
+using variables in the replacement string, or that use the C</e> modifier,
+are not fully profiled.
+
=head1 CLOCKS
Here we discuss the way NYTProf gets high-resolution timing information
from