在Perl的Devel :: DProf中,什么是"外部的未堆叠呼叫"?

inn*_*naM 6 perl profiler profiling

我正在分析一个Perl应用程序perl -d:DProf.在dprofpp生成的tmon.out文件上运行时,我收到如下警告:

Compress::Zlib::__ANON__ has 5 unstacked calls in outer
Compress::Zlib::AUTOLOAD has -5 unstacked calls in outer
Run Code Online (Sandbox Code Playgroud)
  • 什么是未被堆叠的电话?
  • 谁或什么是"外"?
  • 这些数字是什么意思?怎么会有负数的电话?
  • 我应该担心吗?

Ada*_*ire 9

我会试一试:

  • 未堆栈的调用表明,当DProf正在分析配置文件时,它在堆栈(在配置文件中)遇到的调用次数比预期的要多(或更少),这意味着分析数据不正确.
  • "外部"是指%outerDProf中的内部变量,它(显然)在分析配置文件时跟踪堆栈计数.
  • 这些数字表明DProf希望找到的电话数量与发现的数量有多少.5表示呼叫多于预期,-5表示减少5个.同样,这是因为配置文件数据已损坏.
  • 我不担心你的代码完整性,因为AFAIK这是由于DProf本身的实现中的错误.看起来DProf在编写tmon.out文件时感到困惑.但是,dprofpp由于这种不准确性,其余结果可能不可靠.所以,你应该担心(一点点)这些结果的准确性.

您可能希望查看备用性能分析模块,例如Devel :: NYTProf