(Это официальный ответ 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 документы, создающие пользовательский отладчик, если вам нужно
создать специальный вид профилировщика. Брайан Д. Фой описывает процесс
в The Perl Journal , "Создание отладчика Perl" и "Профилирование в Perl" .
На Perl.com есть две интересные статьи о профилировании: «Профилирование Perl» ,
Саймон Козенс и «Отладка и
Профилирование mod_perl Applications ", от Frank Wiles.
Рэндал Л. Шварц пишет о профилировании в «Ускорение вашего Perl»
Программы " для Unix Review и " Профилирование
в Template Toolkit через Overriding " для Linux Magazine .