6

我正在使用perl -d:DProf. dprofpp在生成的文件上运行时tmon.out,我收到如下警告:

Compress::Zlib::__ANON__ has 5 unstacked calls in outer
Compress::Zlib::AUTOLOAD has -5 unstacked calls in outer
  • 什么是非堆叠调用?
  • 谁或什么是“外在”?
  • 这些数字代表着什么?怎么会有负数的来电?
  • 我应该担心吗?
4

1 回答 1

9

我试一试:

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

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

于 2008-12-16T16:59:52.063 回答