2011-02-05 12 views
3

突然、私のperlスクリプトをコンパイルするのに時間がかかりすぎました。 (それぞれ約1分)Perlスクリプトの突然のコンパイルが非常に遅い

私がスクリプトに何を持っているかは問題ではありませんが、何が問題なのですか?requireuseを私が使用しています。

コンパイル中だと思いますが、わかりません。事は - 私がチェック部分だけを走らせる - 意味は、perl -c script.h、それと同じ時間がかかります。

私の質問は - それをデバッグする方法、見つけ出す方法、正確には何をしているのか、非常に時間がかかることを見つけることです。

答えて

5

あなたは(あなたがあなたの時計に目を維持する必要がありますWindows上のように、時間は、UNIX/Linuxのコマンドです)、次のようなものでロードするために要する時間をそれぞれが必要とコマンドを使用して確認することができます。

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

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

どのエントリが最も長くなるのかを調べる必要があるエントリごとにuse/require行を変更するだけです。

+2

ありがとうございます!それは "ボトルネック"のように思えるムース、それはそれが昨日それをしなかったので、それは奇妙です..... –

+2

OK、問題は解決しました何らかの形でファイルシステムが壊れています。ありがとう! –

+0

お役に立てれば幸いです。これは、問題がハードドライブにある場合に備えて別のバックアップをとることを意味します。 – BMitch

1

Windowsの場合は、Process Monitorユーティリティを使用してディスクI/Oアクティビティを確認できます。あなたがMooseに疑念がある場合、分離されたスクリプトを実行すると、ロードされているものといつロードされたものかを示すことができます。

関連する問題