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]
