我有一个Perl脚本,其中包含一些自定义Perl模块。
我使用Devel::NYTProf
对脚本进行了分析,我可以看到包含这些Perl模块的成本我希望最小化。
我已安装PAR::Packer
并编译了我的脚本以使其独立,但它不包含自定义Perl模块。
有什么建议吗?
编辑:
我需要预先编写脚本,以便每次激活时都不包含编译开销。
答案 0 :(得分:6)
如果您在启动时不需要导入某些软件包,请将use
调用更改为require
并将其移至代码中需要软件包的位置(因此您可以在导入时将其导入需要,不一定在启动时)。根据您的程序的复杂程度,在不破坏程序或影响其行为的情况下,可以通过大量工作来确定可以更改哪些调用。
鲍罗丁的守护神建议也很好。启动程序的框架,加载必要的包并等待调用它(可能设置套接字连接或信号处理程序)。然后,当你的程序运行时,fork
它并调用一些启动程序有用部分的&main
子程序。