Revision: 891
Author: tim.bunce
Date: Wed Oct 28 09:11:41 2009
Log: Polish up the docs
Note current limitation re substcont opcode.

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

--~--~---------~--~----~------------~-------~--~----~
You've received this message because you are subscribed to
the Devel::NYTProf Development User group.

Group hosted at:  http://groups.google.com/group/develnytprof-dev
Project hosted at:  http://perl-devel-nytprof.googlecode.com
CPAN distribution:  http://search.cpan.org/dist/Devel-NYTProf

To post, email:  [email protected]
To unsubscribe, email:  [email protected]
-~----------~----~----~----~------~----~------~--~---

Reply via email to