Что такое "неупакованные вызовы во внешнем" в Perl Devel:: DProf?
Я профилирую приложение 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
- что такое неупакованный вызов?
- кто или что такое "внешний"?
- что означают цифры? Как может быть отрицательное число звонков?
- должен ли я беспокоиться?
1 ответов
Я дам этому шанс:
- неупакованные вызовы указывают, что при анализе профиля DProf обнаружил больше (или меньше) вызовов в стеке (в профиле), чем ожидалось, что означает, что данные профилирования неверны.
- "внешний" относится к внутренней переменной
%outer
в DProf, который (по-видимому) отслеживает количество стека при анализе профиля. - номера показывают, сколько вызовов DProf ожидается найти по сравнению с тем, сколько это найдено. 5 означает, что вызовов больше, чем ожидалось, -5 означает, что на 5 меньше. Опять же, это связано с тем, что данные профиля повреждены.
- Я бы не беспокоился о целостности вашего кода, потому что AFAIK это связано с ошибками в реализации самого DProf. Кажется, DProf запутался при написании . Тем не менее, остальные результаты от
dprofpp
может быть ненадежным из-за этой неточности. Итак, вы должны беспокоиться (немного) о точности этих результаты.
вы можете посмотреть в альтернативный модуль профилирования, как Devel:: NYTProf