Ответ 1
(Это официальный ответ официального perlfaq, минус любые последующие изменения)
В пространстве имен Devel
имеется несколько модулей, которые вы можете использовать для
профилируйте свои программы Perl. Модуль Devel:: DProf поставляется с Perl, и вы можете вызвать его с помощью переключателя -d
:
$ perl -d:DProf program.pl
После запуска вашей программы в DProf
вы получите файл tmon.out
с данными профиля. Чтобы просмотреть данные, вы можете превратить их в
читаемый человеком отчет с помощью программы dprofpp
, которая поставляется с
Devel::DProf
:
$ dprofpp
Вы также можете выполнить профилирование и отчетность за один шаг с помощью -p
переключитесь на dprofpp
:
$ dprofpp -p program.pl
Devel:: NYTProf (New York Times Profiler) выполняет профилирование как профилей, так и подпрограмм. Он доступен из CPAN, и вы также вызываете
он с переключателем -d
:
$ perl -d:NYTProf some_perl.pl
Подобно DProf
, он создает базу данных профиля, которую вы
могут превращаться в отчеты. Команда nytprofhtml
превращает данные в
отчет HTML, похожий на отчет Devel:: Cover:
$ nytprofhtml
CPAN имеет несколько других профилировщиков, которые вы можете вызывать в одном и том же мода. Вы также можете быть заинтересованы в использовании C измерять и сравнивать фрагменты кода.
Вы можете прочитать больше о профилировании в программировании Perl, глава 20, или мастеринг Perl, глава 5.
perldebguts документы, создающие настраиваемый отладчик, если вам нужно создайте специальный профиль профилировщика. brian d foy описывает процесс в журнале Perl, "Создание отладчика Perl" и "Профилирование на Perl" .
Perl.com имеет две интересные статьи по профилированию: "Профилирование Perl" , Саймон Козенс и " Отладка и Профилирование приложений mod_perl ", Frank Wiles.
Рэндал Л. Шварц пишет о профилировании в " Ускорение своего Perl Программы " для Unix Review и " Профилирование в Template Toolkit via Overriding " для журнала Linux.