突然间,编译我的perl脚本开始花费太多时间。 (每个约一分钟)
脚本中的内容并不重要,但重要的是我使用了多少require
和use
。
我认为这是在编译,但我不确定。问题是 - 如果我只运行检查部分 - 意思是perl -c script.h
,它需要大约相同的时间。
我的问题是 - 如何调试,如何找出,perl究竟做了什么,找出需要花费这么多时间的内容?
答案 0 :(得分:5)
你可以检查每个使用require命令加载的时间长度如下(时间是unix / linux命令,所以在Windows上你需要密切关注你的手表):
$ time perl -c -e 'use strict;'
-e syntax OK
real 0m0.122s
user 0m0.000s
sys 0m0.008s
只需更改每个条目的使用/需求行,即可找到最长时间的条目。
答案 1 :(得分:1)
如果您使用的是Windows,则可以使用Process Monitor实用程序查看磁盘I / O活动。如果您怀疑Moose,运行隔离脚本可以显示加载的内容和时间。