2011-02-05 2 views
3

Внезапно компиляция моих скриптов perl началась слишком много времени. (Около одной минуты каждый)Perl-скрипты внезапно компилируются очень медленно

На самом деле не имеет значения, что у меня есть в сценариях, однако, сколько require и use Использую.

Я думаю, что это в компиляции, но я не уверен. Дело в том, что если я запустил только контрольную часть, то есть perl -c script.h, это займет примерно одно и то же время.

Мой вопрос - как его отладить, как узнать, что именно делает perl, чтобы узнать, что занимает так много времени?

ответ

5

Вы можете проверить, как долго каждый использовать команду требуется требуется, чтобы загрузить что-то вроде следующего (время команда UNIX/Linux, так и на Windows, вам необходимо следить на часах):

$ time perl -c -e 'use strict;' 
-e syntax OK 

real 0m0.122s 
user 0m0.000s 
sys 0m0.008s 

Просто измените строку use/require для каждой записи, в которой вы должны найти, какой из них дает наибольшее время.

+2

Спасибо! Кажется, что «узкое место» - это лоси, которое занимает 10 секунд для каждого скрипта, в котором он находится. Это странно, потому что он этого не делал только вчера ..... –

+2

ОК, проблема решена, это была проблема на сервер с каким-то сломанной файловой системой. Благодаря! –

+0

С удовольствием помогли. Полагаю, это означает, что пришло время сделать еще одну резервную копию, если проблема с жестким диском. – BMitch

1

Если вы работаете в Windows, вы можете использовать утилиту Process Monitor, чтобы увидеть активность дискового ввода-вывода. Если у вас есть подозрение на Moose, запуск изолированного сценария может показать, что загружено и когда.