Revision: 857 Author: tim.bunce Date: Sat Aug 29 14:19:17 2009 Log: Clarify impact not being able to profile calls made by call_*() in older perls.
http://code.google.com/p/perl-devel-nytprof/source/detail?r=857 Modified: /trunk/lib/Devel/NYTProf.pm ======================================= --- /trunk/lib/Devel/NYTProf.pm Thu Aug 6 16:33:35 2009 +++ /trunk/lib/Devel/NYTProf.pm Sat Aug 29 14:19:17 2009 @@ -626,24 +626,25 @@ perl versions before 5.8.8. That's because L<Readonly> explicitly checking for certain values from caller(). The L<NEXT> module is also affected. -=head2 For perl < 5.10.1 it can't see some implicit subroutine calls - -made via operator overloading +=head2 For perl < 5.10.1 it can't see some implicit calls and callbacks For perl versions prior to 5.8.9 and 5.10.1, some implicit subroutine calls can't be seen by the I<subroutine> profiler. Technically this affects calls made via the various perl C<call_*()> internal APIs. -For example, the C<TIE><whatever> subroutine called by C<tie()>, and all calls -made via operator overloading. Though the statements executed by the code in -the overload subs are profiled. - -The effect is that time in the subroutines for those call is +For example, the C<TIE><whatever> subroutine called by C<tie()>, all calls +made via operator overloading, and callbacks from XS code, are not seen. + +The effect is that time in the subroutines for those calls is accumulated by the subs that trigger them. So time spent in calls invoked by perl to handle overloading are accumulated by the subroutines that trigger overloading (so it is measured, but the cost is dispersed across possibly many calling locations). +Although the calls aren't seen by the subroutine profiler, the individual +I<statements> executed by the code in the called subs are profiled by the +statement profiler. + =head2 goto The C<goto &foo;> isn't recognised as a subroutine call by the subroutine profiler. --~--~---------~--~----~------------~-------~--~----~ 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] -~----------~----~----~----~------~----~------~--~---
