I'm sorry for the later reply. I didn't get this by email but happened
to notice it on http://groups.google.com/group/develnytprof-dev

On Jul 24, 11:38 pm, rcaputo <[email protected]> wrote:
> First oddity - a non-looping line (251) appears to execute twice as
> much as surrounding lines.
>
> 250     49367   94.5ms  49367   87.3ms   while (defined($next_time = 
> $kr_queue->get_next_priority())) {
>
> # spent 87.3ms making 49367 calls to
> POE::Queue::Array::get_next_priority, avg 2µs/call
> 251     98749   46.1ms                  last if $next_time > $now;

The count is a count of statements executed on that line. It's
possible perl is treating the 'last' and the 'if' as two separate
statements, but that seems unlikely. You could profile a little test
script to explore that.

> 253     49383   146ms   49383   289ms   my ($due_time, $id, $event) = 
> $kr_queue->dequeue_next();
>
> # spent 289ms making 49383 calls to POE::Queue::Array::dequeue_next,
> avg 6µs/call
>
> Second oddity - a call is attributed to a line that never makes it.
>
> 278     49382   194ms   49382   99.2ms   POE::Kernel->stop() if
> $POE::Kernel::kr_exception;
> # spent 99.2ms making 49382 calls to
> POE::Queue::Array::get_next_priority, avg 2µs/call

Odd.

> % perl -v
> This is perl, v5.10.0 built for darwin-thread-multi-2level

If you can reproduce the problems with perl 5.10.1 (a recommended
upgrade anyway) then they're more likely to be NYTProf bugs. Perl
5.10.0 and below have some limitations in the accuracy of the
profiling, though I can't be sure that the issue here.

Tim.

-- 
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