diotalevi has asked for the wisdom of the Perl Monks concerning the following question:

I'm profiling my (now fixed) Regexp::Approx - Use fuzzy regular expressions module with Devel::DProf and I get these "$foo has $bar unstacked calls in outer" warnings. What do they mean and should I be concerned?

$ /home/josh/perl5.8.1/bin/dprofpp -R -I -p app
cau[teriz]e radios[teril]ize File::Glob::AUTOLOAD has -5 unstacked calls in outer Exporter::Heavy::heavy_export has 2 unstacked calls in outer Storable::freeze has 1 unstacked calls in outer Exporter::export has -2 unstacked calls in outer AutoLoader::AUTOLOAD has -2 unstacked calls in outer Storable::_freeze has 1 unstacked calls in outer File::Glob::GLOB_BRACE has 1 unstacked calls in outer File::Glob::GLOB_ALPHASORT has 1 unstacked calls in outer File::Glob::GLOB_QUOTE has 1 unstacked calls in outer File::Glob::GLOB_TILDE has 1 unstacked calls in outer File::Glob::GLOB_NOMAGIC has 1 unstacked calls in outer POSIX::load_imports has 1 unstacked calls in outer POSIX::AUTOLOAD has -1 unstacked calls in outer Total Elapsed Time = 28.79804 Seconds User+System Time = 6.748043 Seconds Inclusive Times %Time ExclSec CumulS #Calls sec/call Csec/c Name 84.7 1.994 5.721 3309 0.0006 0.0017 Regexp::Approx::rmatch 31.9 2.158 2.158 3309 0.0007 0.0007 Regexp::Approx::_read_msg 23.2 1.568 1.568 3310 0.0005 0.0005 Regexp::Approx::_send_msg

Replies are listed 'Best First'.
Re: Devel::DProf's "unstacked calls in outer" warning?
by samtregar (Abbot) on Nov 13, 2003 at 19:34 UTC
    It means Devel::DProf has gotten confused and ended up with an unbalanced call stack, if I remember correctly. I believe it means that your profiling data is garbage.

    You might try Devel::Profiler. It's a pure-Perl replacement for Devel::DProf that works in some cases where Devel::DProf has trouble (albeit much slower).

    -sam

      Ok, your module doesn't generate dprofpp correct data. Is this just something that isn't going to work or do you want to try to find whatever bug this is (I assume in your code)?

      $ /home/josh/perl5.8.1/bin/perl -MDevel::Profiler app de[terin]g disin[terin]g en[terit]y in[terin]g $ /home/josh/perl5.8.1/bin/dprofpp Bad profile: at /home/josh/perl5.8.1/bin/dprofpp line 743, <fh> line +11117. $ head -n 11120 tmon.out |tail @ 0 0 11 - 6 @ 0 0 1 + 5 @ 0 0 1 - 5 @ 0 10 5 + 6 @ 0 0 11
        I don't know, how issolated is your test case? I'm not interested in trying to track down a bug triggered by 10,000 lines of code, but if you can show me 10 then you'll definitely get my attention.

        -sam

        Hi diotalevi! Do you have any news on the subject? I'm getting the same messages from dprofpp...

        --dda