2

我有一个 Perl 脚本,其中包括一些自定义 Perl 模块。

我已经使用 对脚本进行了概要分析Devel::NYTProf,并且我可以看到包含这些 Perl 模块的成本是我希望最小化的。

我已经安装PAR::Packer并编译了我的脚本以使其独立,但它不包括自定义 Perl 模块。

有什么建议么?

编辑 :

我需要预先编译脚本,这样每次调用它时就不会包含编译开销。

4

1 回答 1

7

如果您导入的某些包在启动时不需要,请更改use调用require并将它们移动到代码中需要包的位置(因此您在需要时导入它们,不一定在启动时)。根据您的程序的复杂程度,在不破坏程序或影响其行为的情况下确定可以更改哪些调用可能需要做很多工作。


Borodin 的守护进程建议也是一个不错的建议。启动程序的骨架,加载必要的包并等待调用它(可能设置套接字连接或信号处理程序)。然后,当您的程序运行时,fork它会调用一些&main子程序来启动程序的有用部分。

于 2013-10-11T15:33:30.287 回答