in reply to Avoiding "Pkg::__ANON__" diagnostics with -d:DProf
Have you tried using Devel::SmalProf?
As it profiles the code line-by-line rather than function-by-function, it doesn't have the same trouble with anonymous subs.
Sample of output
================ SmallProf version 1.11 ================ Profile of test3.pl8 + Page 1 =============================================================== +== count wall tm cpu time line 0 0.000000 0.000000 1:$t = sub { 1010 0.000000 0.110000 2: for(1..100) { 11000 0.999900 1.133000 3: for(1..10) { 10000 0.999900 1.170000 4: $x++; 0 0.000000 0.000000 5: } 0 0.000000 0.000000 6: } 1 0.000000 0.000000 7:}; 11 0.000000 0.000000 8:for(1..10) { 10 0.000000 0.000000 9: print $t->(); 0 0.000000 0.000000 10:} 1 0.550701 0.000000 11:print 'Done';
Be warned. It really does profile every line, modules and pragmas included. And it slows down your program by *a lot*, but the detailed information it produces is well worth the wait.
|
|---|